UIButton子类使用其大小来设置角度半径与Autolayout

时间:2016-04-13 02:06:57

标签: swift uibutton autolayout subclass

我有UIButton的以下子类只是为了给UIButton提供一个圆形边框,假设import UIKit class CircularButton: UIButton { required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) self.layer.cornerRadius = self.bounds.size.height / 2 self.layer.borderWidth = 1 } } 的高度和宽度设置为相等。但是当自动布局完成它的工作时,我没有得到正确的半径。如何更改此类以使用自动布局正确运行?

brew install cmake 
bundle install

1 个答案:

答案 0 :(得分:0)

始终致电:

setNeedsLayout()
layoutIfNeeded()

在使用AutoLayout时访问视图的框架或边界之前。否则,您在AutoLayout设置之前访问视图的大小。调用这两种方法会强制执行A​​utoLayout传递,允许您访问视图的正确大小。

此外,您应该在awakeFromNib而不是init设置转角半径。