我为 UIButton
创建了一个自定义类,但在小屏幕设备中,例如iPhone 5s
cornerRadius
无法正常工作
你必须仔细观察才能看到 UiButton
的 cornerRadius
不是完美的圆形
class customRoundButton: UIButton
{
override func awakeFromNib()
{
self.layer.cornerRadius = (self.layer.frame.height / 2)
self.layer.borderColor = fontColor.defualtBlue.cgColor
self.layer.borderWidth = 1
self.layer.clipsToBounds = true
self.layer.layoutIfNeeded()
}
}
最佳答案
在 awakeFromNib
中设置 cornerRadius
为时过早。使用 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
}
}
关于ios - UIButton 圆角半径在 CustomClass 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55964049/