我使用UISwitch作为我的iPhone应用程序的主要组件,以显示两个不同的内容流(当用户切换开关时)。我连接了我的交换机来调用valueChanged事件的方法,我间歇性地遇到奇怪的行为。超过90%的时间,它完全按预期工作,但偶尔,手动切换开关(在模拟器和我的iPhone设备上)不会触发事件。交换机物理切换,但我的方法没有被调用。
我已经在iOS 7和iOS 8中尝试了几次,我得到了同样的奇怪行为。另外,我修改了被调用的方法,除了在屏幕上显示一个淡化标签,表示"值已更改",我得到相同的确切错误(偶尔,开关将切换但标签不会显示)。我已经搜索了人们对UISwitch进行堆栈溢出的类似问题,并且我已经看到了一些提到这个问题,但没有解决。我最好选择使用自定义开关吗? (其中,我已经检查过KLSwitch和DCRoundSwitch,但如果可能的话,我更愿意使用Apple的标准UISwitch)。谢谢!