设置cornerRadius
in awakeFromNib
为时过早。使用layoutSubviews
来代替:
class CustomRoundButton: UIButton { override func awakeFromNib() { super.awakeFromNib() layer.borderColor = UIColor.blue.cgColor layer.borderWidth = 1 } override func layoutSubviews() { super.layoutSubviews() layer.cornerRadius = layer.frame.height / 2 } }