我正在使用UISwitch调用子视图来在我的应用程序中进行筛选.但是,交换机仅在大约60%的时间内工作.为了测试我的代码,我将交换机连接到另一个IBAction,以将交换机的状态写入控制台.这两个功能在某些时候都没有响应交换机的状态,即两个功能在某些时候同时忽略交换机的状态.在iOS7中有没有其他人在UISwitch中遇到过这种行为?
- (IBAction)showHideSomeSubView:(UISwitch *)sender {
if (_mySwitch.on) {
[self.view addSubview:someSubView];
}
else {
[someSubVew removeFromSuperview];
}}
Run Code Online (Sandbox Code Playgroud)
编辑:
相同的开关连接到以下操作:
- (IBAction)switchToggled:(UISwitch *)sender {
sender = _mySwitch;
if ([sender isOn]) {
NSLog(@"On");
} else {
NSLog(@"Off");
}}
Run Code Online (Sandbox Code Playgroud)
两个动作以相同的方式响应交换机.
我在 iOS 7 应用程序中使用了多个 UISwitch,我在响应“值更改”操作时完全没有问题。开关始终正确地报告其值。您应该将开关从 IB 中的操作中取消挂钩,然后重新连接,确保您正在连接“值已更改”操作。