Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在第二次触摸之前保持UIButton高亮显示?_Ios_Xcode_Swift_Cocoa Touch_Uibutton - Fatal编程技术网

Ios 如何在第二次触摸之前保持UIButton高亮显示?

Ios 如何在第二次触摸之前保持UIButton高亮显示?,ios,xcode,swift,cocoa-touch,uibutton,Ios,Xcode,Swift,Cocoa Touch,Uibutton,我想将一个按钮保持在高亮显示状态图像中,直到第二次触按,将其释放到正常状态 我尝试了dispatch\u async方法,但在再次单击后,它无法恢复正常状态 (我正在用Swift编码,所以执行选择器:WithObject方法也不起作用。)最好的解决方案是扩展UIButton类,添加“highlited”BOOL标志。每次单击后,只需更新此标志并设置不同的图像。我将使用选定状态而不是高亮显示。UIButton已经具有该属性,因此不需要创建任何其他属性 button.setImage(image,

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

我尝试了
dispatch\u async
方法,但在再次单击后,它无法恢复正常状态


(我正在用Swift编码,所以执行选择器:WithObject方法也不起作用。)

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

我将使用选定状态而不是高亮显示。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;
}

您可以使用图像设置为UIButton,并在第一次单击和第二次单击时更改它们。您无法保持高亮显示状态,因为在跟踪过程中触摸进入/退出时,它会自动设置/清除,并在启动时清除。因此,您必须使用“正常”和“已选择”状态来显示所需的图像。可能的“感谢”副本工作正常。你真是帮了大忙。太好了。但是如果按钮有图像,那么所选属性将不起作用!!