每当我的 UISwitch 在不使用 @ib 操作的情况下被点击时,我都试图调用一个函数,但我无法找到执行此操作的正确方法,无论我如何尝试调用它,似乎都没有任何效果。我通过代码而不是 Storyboard 使用所有内容,因此使用 ib 属性并不是我尝试使用的选项
我正在使用它,但一直出现错误
terminating with uncaught exception of type NSException
func gameSwitchTapped(){
print("touched")
if gameMuteSwitch.isOn == true {
gameview.saveData.set(false, forKey: gameview.gameMuteKey)
} else {
gameview.saveData.set(true, forKey: gameview.gameMuteKey)}
}
并且,在其他地方:
gameMuteSwitch.addTarget(self, action: Selector(("gameSwitchTapped")), for: UIControlEvents.valueChanged)
最佳答案
我认为应该这样做:
mySwitch.addTarget(self, action: #selector(self.switchChanged(sender:)), forControlEvents: UIControlEvents.ValueChanged)
func switchChanged(sender: UISwitch) {
let value = mySwitch.on
// Do something
}
关于ios - 如何在不使用 IBaction/InterfaceBuilder 的情况下调用 UISwitch 触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39627608/