swift UIButton突出显示图像未在第一次点击时触发

时间:2016-03-01 10:57:18

标签: swift uibutton

如此简单的代码 - 按下按钮时,将背景图像更改为其他内容。

    func betMaxButtonPressed (button: UIButton) {
    print("bet max button pressed")
    self.betMaxButton.setBackgroundImage(UIImage(named: "betMaxHighlighted"), forState: UIControlState.Highlighted)

}

在另一个函数(设置containerView)中调用此函数,该函数又在viewDidLoad中调用。

它可以工作但不是第一次按下,后续的印刷机。如果我添加代码

self.betMaxButton.setBackgroundImage(UIImage(named: "betMaxHighlighted"), forState: UIControlState.Highlighted)

to viewDidLoad然后一切都很好并在第一次点击时触发。只是想弄清楚为什么会这样。

2 个答案:

答案 0 :(得分:0)

试试这个,

 func betMaxButtonPressed (button: UIButton) {
    print("bet max button pressed")
    self.betMaxButton.setBackgroundImage(UIImage(named: "betMaxHighlighted"), forState: UIControlState.Normal)

}

注意:如果你想要不亮,那么你需要更改按钮bg(普通图像)

答案 1 :(得分:0)

每次按时,您都不想更改图像,为UIControlState设置图像是在该按钮之后。所以你想做的是viewDidLoad

self.betMaxButton.setBackgroundImage(UIImage(named: "betMaxNormal"), forState: UIControlState.Normal)
self.betMaxButton.setBackgroundImage(UIImage(named: "betMaxHighlighted"), forState: UIControlState.Highlighted)

这将设置应显示哪个状态的图像。因此,当按下按钮时,它将自动更改图像。无需在插座方式中设置图像。