[英]change uiswitch based on state of another uiswitch
我基本上有两个开关按钮,我希望用户从两个播放器或组播放器中进行选择。 但是,我不希望用户能够在用户单击一个而另一个关闭时选择两者,因此非常理想。 如何最好地实现这一点?
-(void)stateSwitchedtwoplayer:(id)sender {
UISwitch *tswitch = (UISwitch *)sender;
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
[defaults setObject: tswitch.isOn ? @"YES" : @"NO" forKey:@"twoplayerswitch"];
[defaults synchronize];
}
-(void)stateSwitchedgroup:(id)sender {
UISwitch *tswitch = (UISwitch *)sender;
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
[defaults setObject: tswitch.isOn ? @"YES" : @"NO" forKey:@"groupswitch"];
[defaults synchronize];
}
您是否有两个交换机的参考? 如果是,它将是这样的:
-(void)stateSwitchedtwoplayer:(id)sender {
UISwitch *tswitch = (UISwitch *)sender;
self.switchGroup.on =! tswitch.isOn; //reference to group switch
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
[defaults setBool: tswitch.isOn forKey:@"twoplayerswitch"];
[defaults setBool: !tswitch.isOn forKey:@"groupswitch"];
[defaults synchronize];
}
-(void)stateSwitchedgroup:(id)sender {
UISwitch *tswitch = (UISwitch *)sender;
self.switchTwoPlayer.on =! tswitch.isOn; //reference to two players switch
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
[defaults setBool: tswitch.isOn forKey:@"groupswitch"];
[defaults setBool: tswitch.isOn forKey:@"twoplayerswitch"];
[defaults synchronize];
}
但是如果您希望两个开关都可以关闭,则只需将其打开
self.switchGroup.on =! tswitch.isOn == YES; //reference to group switch
self.switchTwoPlayer.on =! tswitch.isOn == YES; //reference to two players switch
您可以使用KVO来实现。 您可以在以下位置找到文档: https : //developer.apple.com/library/ios/documentation/Cocoa/Conceptual/KeyValueObserving/Articles/KVOCompliance.html 。 但是我建议你不要。
您应该为这些类型的操作实现一些UISegmentedControl
。 您为什么不看看: https : //developer.apple.com/library/ios/documentation/uikit/reference/UISegmentedControl_Class/Reference/UISegmentedControl.html 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.