2011-04-14 72 views
14

這可能禁用UISwitch?我不是說把它置於關閉狀態,我的意思是禁用用戶交互,並使其顯示爲灰色。如何禁用UISwitch?

在我的應用我有兩個條件

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

有什麼建議?

回答

35

這應做到:

switch.enabled = NO; 

或等價:

[switch setEnabled:NO]; 

其中switch是無論你的UISwitch變量名是。

-6

[switchName enabled] = NO;

使用它來禁用您的開關。

編輯感謝rckoenes:「你不應該嘗試通過getter來設置一個屬性,你應該使用.res語句屬性的setter。」

+0

感謝提示 – Pooja 2011-04-14 13:50:47

+1

你不應該嘗試通過getter來設置屬性。你應該使用任何一個setter。語法屬性。 – rckoenes 2011-04-14 13:52:09

+0

不好意思,另外一件事學到了^^ – Joetjah 2011-04-14 14:19:22

8

是的,你可以。 UISwitch繼承自UIControl,並且UIControl具有enabled屬性。 Apple's UIControl Documentation有所有的細節。

使

switch.enabled = YES; 

要禁用

switch.enabled = NO; 
0

對於那些尋找斯威夫特3,

switch.isEnabled = false // Disabled switch 

我知道你沒有問「關閉」狀態,但以防萬一有人像我一樣,偶然發現這裏:

switch.isOn = false