我正在为游戏制作UI。在标题屏幕上,我在屏幕上有各种按钮。一个按钮是一个切换按钮,用于允许声音静音。我将选中的图像作为静音图像。并且默认图像是完整的声音图像。我通过声音按钮连接到视图控制器。连接是在内部触摸按钮时发生的动作类型。该按钮的代码是:
@IBAction func soundButton(sender: UIButton) {
sender.selected = sender.selected!
}
首次加载应用时,会显示标题屏幕。在屏幕上,声音按钮显示声音已打开。我可以点击并按住按钮,图像不会改变。然后当我发布时,图像会发生变化。这就是我想要的方式,它显示静音图像,但是当我再次单击并按住按钮时,启用声音。一触摸按钮,图像就会发生变化,不,当我第一次触摸它后,我发布时,图像会发生变化。这不是一个巨大的错误,但我仍然想知道为什么会发生这种情况。并感谢先进。
答案 0 :(得分:0)
奇怪的是没有功能名称。但是..我在没有任何其他代码的情况下对此进行了测试,并且它可以正常工作 - 在注册触摸UP之前图像不会改变。
那就是说 - 按下按钮时会出现视觉变化。但它与selected
属性没有关系。它是您可以定义的图像集的一部分。 UIControlState.Highlighted
以下是我测试的方式: viewDidLoad中:
thebutton.setImage(UIImage(named: "icon_dark"), forState: UIControlState.Selected)
thebutton.setImage(UIImage(named: "icon_light"), forState: UIControlState.Normal)
我对按钮的动作(内部触摸):
@IBAction func tap(sender: AnyObject) {
thebutton.selected = !thebutton.selected
}