"disabled" 样式在 cocoa 文本标签上使用绑定

"disabled" style on cocoa text labels using bindings

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

例如,当"add a default number"打开时,您只能"add a default name"。通过将一个复选框上的启用状态绑定到与另一个复选框中的值相同的设置,可以很容易地做到这一点。急。

现在有些首选项不是复选框,而是组合或文本字段。这些是使用 NSTextFields 标记的,它也有一个启用的绑定。但是,当这些被禁用时,显示不会改变。我真的希望文本也变成"disabled style",就像它在复选框上所做的那样。

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

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