swift3 – cornerRadius停止工作在Swift 2.3/iOS 10/Xcode 8

前端之家收集整理的这篇文章主要介绍了swift3 – cornerRadius停止工作在Swift 2.3/iOS 10/Xcode 8前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个cornerRadius设置在UIView和UIImageView在同一个UIView内。我用RockProfileView.frame.size.height / 2计算角半径,但是UIView在iOS 10中停止显示

进一步检查后,我发现RockProfileView.frame.size.height / 2的值出来是1000.0,而宽度和高度约束设置为64.0

当我将RockProfileView.layer.cornerRadius = 32硬编码到64/2,它工作正常。

可能是什么问题?

完整代码

RockProfileView.layer.cornerRadius = RockProfileView.frame.size.height / 2
    RockProfileView.clipsToBounds = true
    RockProgressView.layer.masksToBounds = true
正如Rob回答的,我已将代码从viewDidLoad移到viewDidAppear,问题已修复。

要么
在viewDidLoad中的代码之前添加self.view.layoutIfNeeded()也可以解决问题。

在UITableViewCell的情况下,内部awakeFromNib添加[self layoutIfNeeded];在更新角半径之前应该解决所有的问题。

猜你在找的Swift相关文章