【发布时间】:2019-03-22 17:05:57
【问题描述】:
我在 UIView 上创建了一个简单的扩展来为 UIView 添加一个“投影”阴影,它在 iPhone 上运行良好,但在 iPad 上无法正常运行。我不知道我错过了什么,关于如何改进/修复这个问题的任何想法,以便在 iPad 和 iPhone 上正确显示阴影会很棒
extension UIView {
func addShadow() {
self.layer.shadowPath = UIBezierPath(rect: self.bounds).cgPath
self.layer.shadowColor = UIColor.black.cgColor
self.layer.shadowOpacity = 0.5
self.layer.shadowOffset = .zero
self.layer.shadowRadius = 10
}
}
这是它在 iPad 上的样子:
我是这样从 UIView 调用它的:
class AggregateDataViewImplementation: UIView, AggregateDataView {
override func awakeFromNib() {
layoutView()
}
private func layoutView() {
self.addShadow()
}
...
}
【问题讨论】:
-
什么时候调用 addShadow?调用它的 UIView 是什么?
-
你能告诉你在哪里添加阴影的方法
-
你是在 ViewDidLoad 中调用 addShadow 吗?
-
我已经更新了上面的问题以显示该方法是如何被调用的。从笔尖唤醒后,我们从 UIView 调用它