ios - UIButton 圆角半径在 CustomClass 中无法正常工作

标签 ios swift uibutton cornerradius

我为 UIButton 创建了一个自定义类,但在小屏幕设备中,例如iPhone 5s cornerRadius 无法正常工作

Button looks Like This

你必须仔细观察才能看到 UiButtoncornerRadius 不是完美的圆形

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/

相关文章:

objective-c - ios_type ^=0x1,这是什么意思?

iphone - 在 UITableView 中创建运行总和

swift - 我正在尝试使用调度背景在 Collection View 中使用本地标识符来获取 Assets ,但加载需要太多时间并且单元格为空

ios - 关于 Swift 中 collectionView 单元格内的 UIButton 行为的问题

swift - 在 Swift 中按下按钮时创建一个 if 语句

iOS9 联系人框架从新保存的联系人中获取标识符

iphone - UINavigationController - 在弹出 View Controller 之前运行代码

ios - Swift iOS - 如何制作覆盖 TabBarController 和 NavigationController 的模糊效果

swift - 意外地发现可选值为零 - 在可选链接后它不是零

swift - 如何为按钮中的文本添加边框?