这可以禁用UISwitch吗?我并不是说将其置于关闭状态,我的意思是禁用用户交互,并使其显示为灰色。
在我的应用中,我有两个条件
if (condition == true) {
// UISwitch should be enabled
} else {
// UISwitch should be visible, but disabled
// e.g uiswitch.enable=NO;
}
有什么建议吗?
答案 0 :(得分:41)
这应该这样做:
switch.enabled = NO;
或等效地:
[switch setEnabled:NO];
其中switch
是您的UISwitch
变量名称。
编辑2018年4月18日
上面的答案(显然)是一个Objective-C解决方案,在任何人听说过Swift之前写得很好。当然,Swift等效解决方案是:
switch.isEnabled = false
答案 1 :(得分:7)
是的,你可以。 UISwitch
继承自UIControl
,UIControl
具有enabled
属性。 Apple's UIControl Documentation包含所有细节。
启用
switch.enabled = YES;
禁用
switch.enabled = NO;
答案 2 :(得分:2)
对于那些寻找Swift 3的人来说,
switch.isEnabled = false // Disabled switch
我知道你并没有要求“关闭”状态,但万一有人像我一样偶然发现:
switch.isOn = false
答案 3 :(得分:-6)
[switchName enabled] = NO;
用它来禁用你的开关。
编辑感谢rckoenes:“你不应该尝试通过getter设置属性。你应该使用。语法属性的setter。”