我有一个如下所示的代码片段,在迁移到Swift 3之前,它一直工作得很好,以便能够在UIView周围绘制边界。我只想能够在UIView的底部完成这项工作。
let border = CALayer()
border.frame = CGRect(x: 0, y: self.basicDetailsView.frame.height - 2, width: self.basicDetailsView.frame.width, height: 2)
border.backgroundColor = UIColor.gray().cgColor
self.basicDetailsView.layer.addSublayer(border)
我在viewDidLoad和wakeFromNib中执行帧大小计算时也遇到了类似的问题。在swift 2.3中一切都很顺利,然后在swift 3 中一切都消失了
这篇文章帮助了我:cornerRadius停止在Swift 2.3/iOS 10/Xcode 8 中工作
您可以将代码移动到viewDidPear,或提前调用self.view.layoutIfNeedd()
我选择了后者。