我正在尝试使用以下代码从平方视图创建一个圆:
self.situationerCircle.layer.cornerRadius = self.situationerCircle.frame.size.width/2.0
situationerCircle.clipsToBounds = true
但是我仍然没有一个完美的圆形。我很确定这与我的约束有关,因为我使用这些约束进行了测试圈:
使用以下代码:
testc.layer.cornerRadius = self.testc.frame.size.width/2
testc.clipsToBounds = true
这很好用。但是,坏循环的约束看起来像这样:
原因是因为我想使其尺寸与容器成比例地增加,同时保持相同的1:1比例。但是结果是一个半圆形,具有细微但可见的边缘。有什么想法可以解决这个问题吗?
答案 0 :(得分:0)
如果您尝试在viewDidLoad()
中执行此代码,则可能会发生。 viewDidAppear()
可以工作,但是如果您在单元格内部尝试,则可以使用一种名为awakeFromNib()
的方法来定义对象。添加它并在那里替换您的代码。我同意Larme的回答,您可以致电layoutIfNeeded()
刷新视图并强迫我认为是完美的圆。