Swift 3如何为UIView的边缘添加自定义边框?

4

我有一个代码片段如下所示,它在我迁移到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)

你遇到了什么错误? - Wyetro
2
我没有收到任何错误信息,只是它不再绘制边框了! - EmbCoder
@EmbCoder 你最终解决了这个问题吗? - sdasdadas
@sdasdadas 由于其他限制,我不得不回退到Swift 2,所以没有继续推进这个问题。抱歉。 - EmbCoder
1个回答

2

我曾遇到类似的问题,在viewDidLoad和awakeFromNib中进行frame大小的计算时也会出现问题。在swift 2.3中一切都很完美,但是在swift 3中却出现了问题。

这篇文章对我很有帮助:cornerRadius stopped working in Swift 2.3 / iOS 10 / Xcode 8

你可以将代码移动到viewDidAppear中,或者在此之前调用self.view.layoutIfNeeded()。

我选择了后者。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接