Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
Xcode 内部补漆按钮工作不正常_Xcode_Swift_Button_Interface Builder - Fatal编程技术网

Xcode 内部补漆按钮工作不正常

Xcode 内部补漆按钮工作不正常,xcode,swift,button,interface-builder,Xcode,Swift,Button,Interface Builder,我正在为一个游戏开发UI。在标题屏幕上,我在屏幕上有各种各样的按钮。一个按钮是允许声音静音的切换按钮。我选择的图像是静音图像。默认图像是完整的声音图像。我用声音按钮连接到视图控制器。连接是一种动作类型,当按钮在内部触动时发生。按钮的代码为: @IBAction func soundButton(sender: UIButton) { sender.selected = sender.selected! } 首次加载应用程序时,将显示标题屏幕。在屏幕上,“声音”按钮显示声音已打开。我

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

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

首次加载应用程序时,将显示标题屏幕。在屏幕上,“声音”按钮显示声音已打开。我可以点击并按住按钮,图像不会改变。然后当我释放时,图像会改变。这正是我想要的工作方式,它显示一个静音图像,但当我再次点击并按住按钮,以启用声音。当我像第一次一样触摸按钮后松开按钮时,图像会在我触摸按钮时立即改变,而不是。这不是一个大错误,但我仍然想知道为什么会发生这种情况。提前谢谢你

奇怪的是没有函数名。但是我在没有任何其他代码的情况下对此进行了测试,它的工作原理与您预期的一样——在注册润色之前,图像不会改变

也就是说,按下按钮时会出现视觉变化。但这与所选的
属性无关。它是您可以定义的图像集的一部分<代码>uicontrol状态。突出显示

以下是我的测试方法: viewDidLoad:

thebutton.setImage(UIImage(named: "icon_dark"), forState: UIControlState.Selected)
thebutton.setImage(UIImage(named: "icon_light"), forState: UIControlState.Normal)
以及我对按钮的操作(内部润色):


我明白了,我相信发生的事情是,我有它,所以在图像后有突出显示的can。因此,我需要一个突出显示的图像,因为它会变成默认值,这是我的另一个完整的声音图像。所以它一直在做我告诉它的事情。你可以为两幅图像都设置一个突出显示的状态——可能更暗或更小。因此,这将给您一个“按下”状态,用于打开和关闭。听起来你完全明白了!
@IBAction func tap(sender: AnyObject) {
    thebutton.selected = !thebutton.selected
}