我有一个如下的登录界面。我在每个文本字段周围添加了一个视图,并为该视图添加了一个下拉阴影。虽然我已经实现了我想要的效果,但是这种方式在iPhone Plus(6+、8+)设备上无法工作。
您可以在下面看到差异。
iPhone 8 +:-
iPhone 8:-
以下是我的代码:
我该如何正确修复这个问题?
您可以在下面看到差异。
iPhone 8 +:-
![enter image description here](https://istack.dev59.com/IczAC.webp)
![enter image description here](https://istack.dev59.com/GqeQT.webp)
extension UIView {
func addShadow() {
layer.cornerRadius = 8
layer.masksToBounds = true
layer.shadowColor = UIColor.lightGray.cgColor
layer.shadowOffset = CGSize(width: 0, height: 1.0)
layer.shadowRadius = 2.0
layer.shadowOpacity = 0.5
layer.masksToBounds = false
layer.shadowPath = UIBezierPath(roundedRect: self.bounds,cornerRadius:8).cgPath
}
}
我该如何正确修复这个问题?
viewDidLayoutSubviews()
会被多次调用,因此不要在此处进行任何添加工作(layer
或view
),对于图层而言,它会添加多个图层,阴影看起来会更暗。 - TheTiger