我想在我的uivew下添加一个阴影。它可以在Iphone 5上运行,但是在尝试使用iphone 6 plus时阴影只会被应用到2/3的视图中。
代码:
myView.layer.shadowColor = UIColor.blackColor().CGColor
myView.layer.shadowOpacity = 1
myView.layer.shadowRadius = 5
myView.layer.shadowPath = UIBezierPath(rect: CGRect(x: 0, y: 0, width: myView.frame.width, height: myView.frame.height)).CGPath
视图的限制是:
身高:41
通向superview:0
追踪到超级视图:0
答案 0 :(得分:0)
你正在布局完成之前应用你的影子@Tommy在评论中提到。
将您的代码从viewDidLoad
移至viewDidLayoutSubviews
。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var myView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidLayoutSubviews() {
myView.layer.shadowColor = UIColor.blackColor().CGColor
myView.layer.shadowOpacity = 1
myView.layer.shadowRadius = 5
myView.layer.shadowPath = UIBezierPath(rect: CGRect(x: 0, y: 0, width: myView.frame.width, height: myView.frame.height)).CGPath
}
另外,您是否在视图上设置了Y
约束?我想你会pin
将它Superview
放在首位。