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

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

18 голосов
/ 14 апреля 2011

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

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

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

Есть предложения?

Ответы [ 4 ]

41 голосов
/ 14 апреля 2011

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

switch.enabled = NO;

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

[switch setEnabled:NO];

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

Edit 18-Apr-2018

Ответ выше (ясно) - решение Objective-C, написанное задолго до того, как кто-либо когда-либо слышал о Swift.Эквивалентное решение Swift, конечно:

switch.isEnabled = false

7 голосов
/ 14 апреля 2011

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

К Включить

switch.enabled = YES;

Для отключения

switch.enabled = NO;
2 голосов
/ 19 апреля 2017

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

switch.isEnabled = false // Disabled switch

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

switch.isOn = false
0 голосов
/ 14 апреля 2011

[switchName enabled] = NO;

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

РЕДАКТИРОВАТЬ благодаря rckoenes: «Вы не должны пытаться установить свойство через getter. Вы должны использовать любой из параметров.свойство синтаксиса. "

...