2014-03-26 50 views
0

我基本上有两个开关按钮,我希望用户从两个玩家或组播玩家中进行选择。但是,我不希望用户能够选择这些如此理想的时候,当用户点击另一个关闭。最好怎么实现呢?根据另一个uiswitch的状态更改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]; 
    } 
+0

仅供参考 - ''NSUserDefaults'有'setBool:forKey:'方法。只要做'[defaults setBool:tswitch.on forKey:@“The Switch Key”];'。 – rmaddy

回答

3

您是否对两台交换机都有参考? 如果是的话,这将是这样的:

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

完美的谢谢 – user3246508