触摸内部按钮无法正常工作

时间:2015-07-07 17:42:01

标签: xcode swift button interface-builder

我正在为游戏制作UI。在标题屏幕上,我在屏幕上有各种按钮。一个按钮是一个切换按钮,用于允许声音静音。我将选中的图像作为静音图像。并且默认图像是完整的声音图像。我通过声音按钮连接到视图控制器。连接是在内部触摸按钮时发生的动作类型。该按钮的代码是:

@IBAction func soundButton(sender: UIButton) {
     sender.selected = sender.selected! 
}

首次加载应用时,会显示标题屏幕。在屏幕上,声音按钮显示声音已打开。我可以点击并按住按钮,图像不会改变。然后当我发布时,图像会发生变化。这就是我想要的方式,它显示静音图像,但是当我再次单击并按住按钮时,启用声音。一触摸按钮,图像就会发生变化,,当我第一次触摸它后,我发布时,图像会发生变化。这不是一个巨大的错误,但我仍然想知道为什么会发生这种情况。并感谢先进。

1 个答案:

答案 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
}