【问题标题】:Objective-C UISwitch change state of another UISwitchObjective-C UISwitch 改变另一个 UISwitch 的状态
【发布时间】:2014-02-27 10:33:45
【问题描述】:

谁能告诉我如何让一个 UISwitch 影响另一个 UISwitch 的状态?

谢谢! B.

【问题讨论】:

  • 当你改变 UISwitch 的值时:BOOL fisrtIsOn = [yourFirstSwitch isOn];,你可以这样做:[yourSecondSwitch fisrtIsOn][yourSecondSwitch setOn:!fisrtIsOn];

标签: objective-c uiswitch


【解决方案1】:

为您的 switch1 值添加事件处理程序已更改,您也可以在情节提要中执行此操作):

[switch1 addTarget:self action:@selector(changeSwitch:) forControlEvents:UIControlEventValueChanged];

其他开关的实现方法和改变值:

-(void)changeSwitch:(id)sender{
    UISwitch *s = (UISwitch*)sender;
    //Change value on second switch
    [s2 setOn:!s.isOn];
}

【讨论】:

  • 谢谢!只是想确认我没有找错树
【解决方案2】:

假设您有两个开关,开关 1 和开关 2。

那么,

//in  viewDidLoad

[ self.Switch1 addTarget:self
                action:@selector(switchChanged:)
                forControlEvents:UIControlEventValueChanged];

-(void)switchChanged:(uiSwitch*)sender

{

    if([sender isOn]) //check whether switch1 is on
    {
         if([self.switch2 isOn]) //turn switch2 off 
         {
              [self.switch2 setOn:NO];
         }
    }
}

希望对你有帮助

【讨论】:

    最近更新 更多