IOS/iPhone-Скрытие одной кнопки при нажатии другой кнопки

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

Ответ 1

IBOutlet UIButton *btn1;
IBOutlet UIButton *btn2;

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

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

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

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

Ответ 2

Подключите два коммутатора к розеткам. скажем, switch1 и switch2.

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

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

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

Ответ 3

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

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

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

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

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

Функция NJones if более эффективна.

Ответ 4

Swift 4


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

btn1.isHidden = true