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