我有一个xib文件作为自定义菜单。 按下按钮后,我想更改按钮的文本颜色。
这是处理点按的代码:
let rulerMenu = (NSBundle.mainBundle().loadNibNamed("rulerMenu", owner: self, options: nil).last) as! RulerMenu
rulerMenu.frame = CGRectMake(self.view.bounds.size.width, 112, self.view.bounds.size.width, 48)
self.view.addSubview(rulerMenu)
rulerMenu.mmBtn.addTarget(self, action: #selector(ViewController.mmBtnFunc), forControlEvents: .TouchUpInside)
这就是我开始实施的按钮操作代码。
func mmBtnFunc() {
let rulerMenu = (NSBundle.mainBundle().loadNibNamed("rulerMenu", owner: self, options: nil).last) as! RulerMenu
rulerMenu.mmBtn.setTitleColor(UIColor.uIColorFromHex(0xFB61CF), forState: .Normal)
}
颜色根本没有变化。
我已尝试将self.view.addSubview(rulerMenu)
添加到mmBtnFunc()
功能,然后再次弹出菜单,颜色已更改。但我不想让它变得有生气勃勃"。我只想改变颜色。
我错过了什么?非常感谢帮助。
答案 0 :(得分:2)
要解决您的问题,请尝试以下操作:操作目标通常有一个参数,因此,请尝试将您的函数原型更改为此func mmBtnFunc(button: UIButton)
,然后直接更改按钮的颜色。完成此更改后,您需要更新操作选择器,如#selector(ViewController.mmBtnFunc(_:))