uiview上的圆angular半径不按预期工作
cornerRadius = (view.frame.size.height / 2.0)
似乎没有按预期工作。 如何解决这个问题? 可能是什么问题?
输出屏幕 –
在这种情况下我的解决scheme是你应该把prepareUI
方法在viewDidLayoutSubviews
。 尝试添加下面的代码。
override func viewDidLayoutSubviews() { self.prepareUI(); }
我猜你想让你的angular落半径相遇,而不是在他们之间有一条直线? 那么你的红色和绿色button的两边会在一个半圈?
您的视图约束直到viewDidLayoutSubviews()
函数才被真正解决,所以如果您的视图在运行时由于您设置的约束而更改,则您计算angular半径的帧将在 viewDidLoad 之后更改。 如果你使用viewDidLayoutSubviews()
而不是你应该没事的:
override func viewDidLayoutSubviews() { self.prepareUI(); }
你只需要为你的View设置clipToBounds true。
例;
让view = UIView()
view.layer.cornerRadius = 14;
view.clipsToBounds = true;