Как отключить UISwitch?

Можно ли отключить UISwitch? Я не имею в виду, что он находится в состоянии ВЫКЛ, я имею в виду отключить взаимодействие с пользователем и иметь серый цвет.

В моем приложении у меня есть два условия

if (condition == true) {  
  // UISwitch should be enabled  
} else {  
  // UISwitch should be visible, but disabled  
  // e.g uiswitch.enable=NO;  
} 

Любые предложения?

Ответы

Ответ 1

Это должно сделать это:

switch.enabled = NO;

или эквивалентно:

[switch setEnabled:NO];

где switch - это любое ваше имя переменной UISwitch.

Ответ 2

Да, вы можете. UISwitch наследует от UIControl, а UIControl имеет свойство enabled. Apple UIControl Documentation содержит все подробности.

В включить

switch.enabled = YES;

Чтобы отключить

switch.enabled = NO;

Ответ 3

Для тех, кто ищет Swift 3,

switch.isEnabled = false // Disabled switch

Я знаю, что вы не просили "выключить" состояние, но на всякий случай кто-то, как и я, наткнулся на это:

switch.isOn = false

Ответ 4

[switchName enabled] = NO;

Используйте это, чтобы отключить ваш коммутатор.

EDIT благодаря rckoenes: "Вы не должны пытаться установить свойство через getter. Вы должны использовать свойство setter of. syntax."