使用绑定的可可文本标签上的“禁用”样式

时间:2016-03-17 18:54:24

标签: swift macos cocoa cocoa-bindings

我正在使用Cocoa绑定(在Swift中)来实现首选项窗格。某些设置仅在打开其他设置时适用。这主要是在复选框上,它易于使用。

例如,当“添加默认号码”打开时,您只能“添加默认名称”。通过将一个复选框上的启用状态绑定到与另一个复选框中的值相同的设置,可以轻松完成此操作。似的。

现在有些prefs不是复选框,而是组合或文本字段。这些是使用NSTextFields标记的,它们也具有启用的绑定。但是,禁用这些时,显示不会改变。我真的就像文本一样成为“禁用样式”,就像在复选框上一样。

那么,有没有人知道如何实现这一目标?有一个文本颜色绑定,但我不知道如何在这种情况下使用它,至少不为应用程序中的每个这样的示例编写单独的方法。

2 个答案:

答案 0 :(得分:3)

您可以创建一个值转换器类(NSValueTransformer的子类),它将布尔值转换为颜色。然后,您可以将该值转换器应用于标签的文本颜色绑定到布尔属性的绑定(可能与您用于禁用相关控件的相同)。

答案 1 :(得分:0)

标签上的Swich' Draws Background'并将背景颜色设置为'窗口背景颜色'或与背景颜色相同。