cornerRadius = (view.frame.size.height / 2.0)
似乎没有按预期工作。怎么解决这个?可能是什么问题?
输出屏幕 -
答案 0 :(得分:0)
我在这种情况下的解决方案是您应该将prepareUI
方法放在viewDidLayoutSubviews
中。尝试添加以下代码。
override func viewDidLayoutSubviews() {
self.prepareUI();
}
答案 1 :(得分:0)
我猜你想要你的角半径相互碰撞,而它们之间没有垂直直线?那么红色和绿色按钮的两侧会合半圆形?
在viewDidLayoutSubviews()
函数之前,您的视图约束实际上并未解决,因此如果您的视图在运行时由于您设置的约束而发生更改,则计算角半径的帧将更改< em>在 viewDidLoad之后。如果您使用viewDidLayoutSubviews()
,那么您应该没问题:
override func viewDidLayoutSubviews() {
self.prepareUI();
}
答案 2 :(得分:-1)
您只需要为View设置clipToBounds为true。
实施例;
让view = UIView()
view.layer.cornerRadius = 14;
view.clipsToBounds = true;