加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:01:39 所属栏目:百科 来源:网络整理
导读:我有一个cornerRadius设置在UIView和UIImageView在同一个UIView内。我用RockProfileView.frame.size.height / 2计算角半径,但是UIView在iOS 10中停止显示。 进一步检查后,我发现RockProfileView.frame.size.height / 2的值出来是1000.0,而宽度和高度约束
我有一个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];在更新角半径之前应该解决所有的问题。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读