如何保持UIButton突出显示直到第二次触摸?

时间:2015-06-12 09:12:40

标签: ios xcode swift cocoa-touch uibutton

我想在高亮状态图像中保留一个按钮,直到第二次触摸将其释放到正常状态。

我尝试了dispatch_async方法,但又一次点击后无法恢复正常状态。

(我在Swift编码,因此performSelector:WithObject方法也无法正常工作。)

2 个答案:

答案 0 :(得分:7)

我将使用选定状态而不是突出显示。 UIButton已经拥有该属性,因此您无需创建任何其他属性。

button.setImage(image, forState: UIControlState.Normal)
button.setImage(selectedImage, forState: UIControlState.Selected)

button.addTarget(self, action: "buttonTapped:", forControlEvents: UIControlEvents.TouchUpInside)


func buttonTapped(sender:UIButton)
{
  sender.selected = !sender.selected;
}

答案 1 :(得分:-1)

最好的解决方案是扩展UIButton类,添加" highlited" BOOL标志。每次点击后,只需更新此标志并设置不同的图像。