Objective c Xcode为什么我的UISwitch在一段时间后不工作?

Objective c Xcode为什么我的UISwitch在一段时间后不工作?,objective-c,ios,xcode,uiswitch,Objective C,Ios,Xcode,Uiswitch,我正在我的一个选项卡式应用程序中使用UISwitch。UI开关位于屏幕底部。当我第一次启动应用程序时,开关工作正常。我可以从纵向旋转到横向,一切都很好。我甚至可以转到其他选项卡,然后返回,开关仍然可以在横向和纵向两种情况下工作。但是,如果我在选项卡之间来回切换五次,则切换在纵向模式下有效,但在横向模式下无效。有人见过或听说过这个吗?有人知道发生这种事的原因吗?我用过 [infoSwitch setOn:NO]; 将出现在我的视图中,以便开关始终启动。使用开关有什么我不知道的吗?我做了和过去一样

我正在我的一个选项卡式应用程序中使用UISwitch。UI开关位于屏幕底部。当我第一次启动应用程序时,开关工作正常。我可以从纵向旋转到横向,一切都很好。我甚至可以转到其他选项卡,然后返回,开关仍然可以在横向和纵向两种情况下工作。但是,如果我在选项卡之间来回切换五次,则切换在纵向模式下有效,但在横向模式下无效。有人见过或听说过这个吗?有人知道发生这种事的原因吗?我用过

[infoSwitch setOn:NO];

将出现在我的视图中,以便开关始终启动。使用开关有什么我不知道的吗?我做了和过去一样的事情来让交换机工作。任何帮助都将不胜感激!再次感谢。

UIView
s可能可见,但如果超出父视图的范围,则无法获取输入。因此,第一个诊断方法是给父视图一些明显的花哨颜色,这样您就可以看到它的边界,然后尝试旋转和切换,看看是否可以在那里强制执行错误


您还可以将
clipstobunds
设置为
YES
,以确保视图不会显示超出范围的子视图。

感谢您的快速响应。我有一个蓝色的背景在我的观点,似乎开关从来没有超出这个范围。我在父视图中还有另一个视图,因此我更改了该视图,以便也可以看到它。它从不与开关重叠。所以我很确定开关总是在父视图中,而不被任何其他视图覆盖。你说的剪贴簿是什么,我从没听说过。再次感谢
clipstobunds
UIView
上的一个属性,默认值为
NO
。如果将其设置为
YES
,则该视图的子视图将被剪裁到其边界。最终的效果是,如果你不能与它们互动,它们就不会被画出来。从控制器视图进行快速递归遍历,并在所有子视图上设置,以查看开关是否最终消失,这可能是一个好主意。再次感谢您,我在该视图中有两件事需要调整,一个是图形宿主视图(我使用的是core plot)和开关。我将clipsToBounds都设置为YES。但当我从一种观点到另一种观点三次之后,问题就显现出来了。但我的按钮从未消失过。还有其他想法吗?作为测试,你能添加其他交互元素吗?就像在开关旁边插入一个
ui按钮(它不需要连接任何东西,因为它们已设置动画)。这将告诉你这是一个响应链打嗝还是开关本身有故障。哇,按钮同时停止工作。它总是在第三次之后停止!但我也可以随时看到他们两个。并且图形宿主视图从不将它们覆盖,或者它们看起来是在主视图之外绘制的。