应用程序在Xcode 11和iOS 13上切换UIS时卡住



>我已经将我的 Xcode 从版本 10 更新到 11。

但是现在我的应用程序不接受任何触摸事件,或者在我转动UISwitch时卡住。 然后我从UISwitch中删除了所有连接,以检查错误是否来自我的代码。但我仍然遇到同样的问题。

有人有解决这个问题的想法吗?提前谢谢。

好吧,我在运行iOS 13的设备上遇到了完全相同的问题,当我开始运行Xcode 11时。问题(至少对我来说(是Apple(可能(针对UISwitch的"valueChanged"钩子的问题进行了错误修复,请参阅:

  • iOS7 UISwitch 其事件值已更改:连续调用是这个错误还是什么..?
  • 从 IBAction 再次调用 IBAction 以编程方式设置 UISwitch is On

无论哪种方式,之前发生的事情是开关的操作被触发了两次,所以我(显然(自己将开关设置为正确的状态。喜欢这个:

@IBAction func notificationsSwitchTapped(_ sender: UISwitch) {
if sender.isOn{
sender.setOn(false, animated: true)
}else{
sender.setOn(true, animated: true)
}
}

但是从iOS 13 Xcode 11开始,"valueChanged"UISwitch错误得到了修复,我正在检查的.isOn((值实际上已经是新值:

@IBAction func notificationsSwitchTapped(_ sender: UISwitch) {
if sender.isOn{
// The switch has been turned on
}else{
// The switch has been turned off
}
}

长话短说,您的开关之前可能被调用了两次,因此您的 UISwitch 状态布尔值与您的 Xcode 11 iOS 13 代码相反。

相关内容

  • 没有找到相关文章

最新更新