如何避免使用UIControlEvents上的选择器更改UIButton选择时的文本颜色?
我正在努力确保我的按钮的文字颜色在突出显示,选择或正常时不会发生变化。因为我的选择器,它不起作用。我也尝试在选择器中更改titleLabel的文本颜色,但它没有用。正如你所看到的那样,我需要在高亮度时更改背景颜色...添加控制事件目标是我发现在选择时更改背景颜色的唯一方法。
这是我的按钮配置代码:
func setBtn(btn: UIButton) {
setBtnTarget(btn)
btn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Normal)
btn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Highlighted )
btn.setTitleColor(UIColor.whiteColor(), forState: UIControlState.Selected)
}
func setBtnTarget(btn: UIButton) {
btn.addTarget(self, action: "highlighted:", forControlEvents: UIControlEvents.TouchDown)
btn.addTarget(self, action: "normal:", forControlEvents: UIControlEvents.TouchUpInside)
}
func highlighted(btn : UIButton) {
btn.backgroundColor = UIColor(red:0, green:0.133, blue:0.229, alpha:1)
}
func normal(btn : UIButton) {
btn.backgroundColor = UIColor(red:0, green:0.058, blue:0.099, alpha:1)
}
欢迎任何其他工作方式。提前谢谢。
答案 0 :(得分:2)
这看起来不错,您只需要确保您的按钮类型是自定义的。
let btn = UIButton(type: .Custom)