繁体   English   中英

iOS7中可能的UISwitch错误?

[英]Possible UISwitch bug in iOS7?

我正在使用UISwitch调用子视图来在我的应用程序中进行筛选。 但是,交换机仅在大约60%的时间内工作。 为了测试我的代码,我将交换机连接到另一个IBAction,以将交换机的状态写入控制台。 这两个功能在某些时候都没有响应交换机的状态,即两个功能在某些时候同时忽略交换机的状态。 在iOS7中有没有其他人在UISwitch中遇到过这种行为?

- (IBAction)showHideSomeSubView:(UISwitch *)sender {
if (_mySwitch.on) {
    [self.view addSubview:someSubView];
}
else {
    [someSubVew removeFromSuperview];
}}

编辑:

相同的开关连接到以下操作:

- (IBAction)switchToggled:(UISwitch *)sender {
sender = _mySwitch;
if ([sender isOn]) {
    NSLog(@"On");
} else {
    NSLog(@"Off");
}}

两个动作以相同的方式响应交换机。

我确认你的怪异行为!!!! 只需将开关的小圆圈左右拖动,您就会看到多次调用的操作(在我的情况下最多为403:D)我真的不确定这是Apple工程师打算做什么,因为我还没有发现任何关于这个新行为的文档,BTW,如果你找到了,请告诉我。

非常感谢你

我在iOS 7应用程序中使用了几个UISwitch,我没有遇到任何响应Value Changed操作的问题。 交换机始终正确报告其值。 您应该从IB中的操作中取消切换,然后重新连接,确保您正在连接Value Changed操作。

是的,使用iOS 7 iPad模拟器中的UISwitch,我看到了相当于你的switchToggled:方法的1-12回调。 在最后一次回调中,该值实际上已更改。 在之前的回调中,它没有。 我正在做的是缓存开关是否打开。 然后在switchToggled:方法中,我检查该值是否实际上已更改。 如果没有,我会忽略回调。 这似乎使事情对用户来说是正确的。

问题确实也发生在设备上,尽管显然不那么频繁。 同样的解决方案似乎在那里工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM