我有一个从 class 继承的自定义 UIButton 。我想要完成的是根据按钮的启用状态(即启用或禁用)设置 tintColor 属性。

有什么方法可以实现吗?

这是我的课:

class ButtonsPostMenu: UIButton
{
    override func awakeFromNib()
    {
        titleLabel?.font = UIFont(name: Font_AvenirNext_Medium, size: 14)
        tintColor = UIColor.white
    }
}

最佳答案

您可以重写isEnabled属性来实现。 tintColor将根据按钮的isEnabled状态自动更改:

class ButtonsPostMenu:UIButton {

    //......

    override var isEnabled: Bool {
        didSet{
            if self.isEnabled {
                self.tintColor = UIColor.white
            }
            else{
                self.tintColor = UIColor.gray
            }
        }
    }

    //......

}

关于ios - 用于禁用和启用状态的 UIButton tintColor?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45834966/

10-12 06:14