我创建了一个自定义UIButton
,我希望它的背景在选中时为红色,否则为白色。
所以我尝试了这个:
class MyCustomButton: UIButton {
override var isSelected: Bool {
didSet {
backgroundColor = isSelected ? .red : .white
}
}
}
但它不起作用,我设置了一个断点,但它永远不会被调用。我怎么能这样做?感谢
答案 0 :(得分:1)
怎么样:
override open var isHighlighted: Bool {
didSet {
backgroundColor = isHighlighted ? UIColor.red : UIColor.white
}
}
注意:按钮类型应为自定义。它不适用于带有类型系统的按钮。
答案 1 :(得分:0)
答案 2 :(得分:-1)
您可以设置当前按钮的背景图像。
我希望它会对你有所帮助。
UIButton* customButton = [UIButton buttonWithType:UIButtonTypeCustom];
[[customButton setBackgroundImage:[UIImage imageNamed:@"stateNormalImage"] forState:UIControlStateNormal]];
[[customButton setBackgroundImage:[UIImage imageNamed:@"stateSelectedlImage"] forState:UIControlStateSelected]];