我基本上有两个开关按钮,希望用户从两个播放器或组播放器中进行选择。但是,我不希望用户能够在用户单击一个按钮而另一个按钮关闭时选择这两个选项。如何最好地实现这一点?

  -(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

关于ios - 根据另一个uiswitch的状态更改uiswitch,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22675088/

10-12 02:47
查看更多