我有以下UIButton
的子类,只是为了给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
}
}
始终调用:
setNeedsLayout()
layoutIfNeeded()
在使用"自动布局"时访问视图的边框或边界之前。否则,在通过AutoLayout设置视图之前访问视图的大小。调用这两个方法将强制执行AutoLayout过程,从而允许您访问视图的正确大小。
此外,应在awakeFromNib
而不是init
中设置拐角半径。