触摸内部按钮无法正常工作
Touch up inside button not working properly
我正在 UI 开发一款游戏。在标题屏幕上,我在屏幕上有各种按钮。一个按钮是允许静音的切换按钮。我的 selected 图像是静音图像。 默认图像是完整的声音图像。我通过声音按钮连接到视图控制器。连接是一种动作类型,当在内部触摸按钮时发生。按钮的代码是:
@IBAction func soundButton(sender: UIButton) {
sender.selected = sender.selected!
}
首次加载应用程序时,会显示标题屏幕。在屏幕上,声音按钮显示声音打开。我可以单击并按住按钮,图像不会改变。然后当我释放时,图像会改变。这就像我想要的那样工作,它显示静音图像,但是当我再次单击并按住按钮时,启用声音。我一触摸按钮,图像就会改变,NOT 当我像第一次那样触摸它后松开。这不是一个大错误,但我仍然想知道为什么会发生这种情况。并在此先感谢。
奇怪的是没有函数名。但是.. 我在没有任何其他代码的情况下对此进行了测试,并且它按您预期的那样工作 - 在注册 touch 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
}
我正在 UI 开发一款游戏。在标题屏幕上,我在屏幕上有各种按钮。一个按钮是允许静音的切换按钮。我的 selected 图像是静音图像。 默认图像是完整的声音图像。我通过声音按钮连接到视图控制器。连接是一种动作类型,当在内部触摸按钮时发生。按钮的代码是:
@IBAction func soundButton(sender: UIButton) {
sender.selected = sender.selected!
}
首次加载应用程序时,会显示标题屏幕。在屏幕上,声音按钮显示声音打开。我可以单击并按住按钮,图像不会改变。然后当我释放时,图像会改变。这就像我想要的那样工作,它显示静音图像,但是当我再次单击并按住按钮时,启用声音。我一触摸按钮,图像就会改变,NOT 当我像第一次那样触摸它后松开。这不是一个大错误,但我仍然想知道为什么会发生这种情况。并在此先感谢。
奇怪的是没有函数名。但是.. 我在没有任何其他代码的情况下对此进行了测试,并且它按您预期的那样工作 - 在注册 touch 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
}