我有一个 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()
函数,然后菜单再次弹出,颜色发生变化。但我不希望它“重新动画”。我只想改变颜色。
我错过了什么?非常感谢您的帮助。
最佳答案
要解决您的问题,试试这个: Action 目标通常有一个参数,因此,请尝试将您的函数原型(prototype)更改为此 func mmBtnFunc(button: UIButton)
,然后直接更改按钮的颜色。进行此更改后,您需要像这样更新操作选择器 #selector(ViewController.mmBtnFunc(_:))
关于ios - Swift/如何更改xib文件中按钮文本的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36611860/