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];在更新角半径之前应该解决所有的问题。

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...