【发布时间】:2018-09-29 08:09:20
【问题描述】:
我正在尝试使用此代码从方形视图创建一个圆圈:
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 比例。但结果是一个半圆形,具有微妙但可见的边缘。任何想法如何解决这个问题?
【问题讨论】:
-
我猜是因为您根据
width应用cornerRadius太快了。这意味着当你这样做时,width它还不是最后一个。在didLayoutSubview()中进行操作。您可以通过打印您所做的宽度以及它在didLayoutSubview()中的呈现方式来检查它。 -
好人,成功了!非常感谢! :)
标签: swift geometry cornerradius