根据另一个开关状态关闭或打开开关

时间:2015-06-23 04:10:31

标签: ios xcode uiswitch

如何在其他开关内关闭开关? 这是一个例子 - 当isMale开关打开时,关闭isFemale开关。

- (IBAction)isMale:(id)sender {
       if ([sender isOn]) {

             //TURN isFemale SWITCH OFF

       }
       else {
            ...
       }
 }

- (IBAction)isFemale:(id)sender {
       if ([sender isOn]) {

            //TURN isMale SWITCH OFF

       }
       else {
            ...
       }
 }

我一直在阅读Apple开发文档,但找不到任何关于更换另一台交换机内的交换机的信息。 欢呼声。

4 个答案:

答案 0 :(得分:2)

首先,您需要在标题IBOutlet文件中创建UISwitch的{​​{1}}

.h

然后在@property (strong, nonatomic) IBOutlet UISwitch *isMale; @property (strong, nonatomic) IBOutlet UISwitch *isFemale; 中执行以下操作。

IBAction

请记住将- (IBAction)isMale:(id)sender { if ([sender isOn]) { [_isFemale setOn:NO animated:YES]; } else { // do what you want. } } - (IBAction)isFemale:(id)sender { if ([sender isOn]) { [_isMale setOn:NO animated:YES]; } else { //do what you want } } IBOutlet中的相应对象相关联。

答案 1 :(得分:1)

以下是您需要的简单示例

- (void)viewDidLoad 
 {
    [super viewDidLoad];
   // Do any additional setup after loading the view, typically from a nib.

    [_btnMale setOn:YES animated:YES];
    [_btnFemale setOn:NO animated:YES];

 }


 - (IBAction)btnMaleClick:(id)sender
 {
     if ([sender isOn])
     {
        [_btnFemale setOn:NO animated:YES];
     }

 }

 - (IBAction)btnFemaleClick:(id)sender
 {
    if ([sender isOn])
    {
       [_btnMale setOn:NO animated:YES];
    }

  }

答案 2 :(得分:1)

在Swift 5.1(Xcode 11)中使用

       [switchPass .setOn(false, animated: true)]

答案 3 :(得分:0)

这里是如何在swift中切换按钮状态以供将来参考

override func viewDidLoad() {
    super.viewDidLoad()

    btnMale.setOn(true, animated: true)
    btnFemale.setOn(false, animated: true)

}

@IBAction func btnMaleClick(sender: UISwitch){
    if sender.on{
        btnFemale.setOn(false, animated: true)
    }
}
@IBAction func btnFemaleClick(sender: UISwitch){
    if sender.on{
        btnMale.setOn(false, animated: true)
    }
}
相关问题