iOS / iPhone - скрытие одной кнопки при нажатии другой - PullRequest
11 голосов
/ 19 октября 2011

У меня есть представление настроек в моем приложении, которое имеет пару кнопок (на самом деле UISwitches).Если выбрана настройка «выкл.» На одном из переключателей, я хотел бы немедленно скрыть второй переключатель.Можно ли это сделать?

Ответы [ 4 ]

31 голосов
/ 19 октября 2011
IBOutlet UIButton *btn1;
IBOutlet UIButton *btn2;

запишите вышеупомянутые 2 строки в ваш файл .h и установите выходы с помощью XIB.

Теперь создайте метод с именем hideButton

-(IBAction)hideButton
{
       btn1.hidden = YES;
}

в XIB и прикрепитеметод с btn2.Так что теперь, когда вы нажмете btn2, он будет скрыт btn1.

4 голосов
/ 19 октября 2011

Соедините два переключателя как розетки. скажем, switch1 и switch2.

Подключите эту функцию к действию valueChanged.

- (IBAction)mySwitch1:(id)sender { 
    [switch2 setHidden:!(switch1.isOn)];
}

Теперь, когда switch1 не включен, switch2 будет скрыт.

3 голосов
/ 19 октября 2011

Добавить цель к первому коммутатору, который при изменении значения вызывает экземпляр второго коммутатора и скрывает его.

Добавить цель:

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

Вызывает этот метод:

- (void) switchToggled:(UISwitch*)switch {
 if ([switch isOn]) switch2.hidden = YES;
 else switch2.hidden = NO;
}

NJones, если заявление более эффективно, хотя.

0 голосов
/ 27 июня 2019

Swift 4


В рамках вашей функции выполните следующие действия:

btn1.isHidden = true
...