在运行时更改按钮框架

chieudai14kytu

我有一个子类UIButton

class ColorButton: UIButton {
    override func awakeFromNib() {
        self.layer.backgroundColor = UIColor.blackColor().CGColor
        self.layer.cornerRadius = frame.size.width / 2
        self.clipsToBounds = true
    }
}

在界面构建器中,我将按钮设置为4个约束:width = 100, height = 100, centerX, centerY当我在模拟器上运行代码时,该按钮消失。但是,如果设置

self.layer.cornerRadius = 50

有用。我想不明白。如果有人了解这个问题,请告诉我。

伊戈尔

awakeFromNib第一行中添加

self.layoutIfNeeded()

代码:

class ColorButton: UIButton {
    override func awakeFromNib() {
        self.layoutIfNeeded()
        self.layer.backgroundColor = UIColor.blackColor().CGColor
        self.layer.cornerRadius = frame.size.width / 2
        self.clipsToBounds = true
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章