【问题标题】:"disabled" style on cocoa text labels using bindings使用绑定的可可文本标签上的“禁用”样式
【发布时间】:2016-03-17 18:54:23
【问题描述】:

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

例如,您只能在“添加默认号码”打开时“添加默认名称”。这很容易通过将一个复选框上的启用状态绑定到与另一个复选框中的值相同的设置来实现。快。

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

那么,有谁知道实现这一点的方法吗?有一个 Text Color 绑定,但我不确定在这种情况下如何使用它,至少无需为应用程序中的每个此类示例编写单独的方法。

【问题讨论】:

    标签: swift macos cocoa cocoa-bindings


    【解决方案1】:

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

    【讨论】:

    • 感谢肯,这让我走上了正确的道路。关于如何在 Swift 中使用这些存在一些困惑,但经过几次尝试后,我让它完美地工作。绝对是我的 sn-ps 堆!
    猜你喜欢
    • 2012-01-16
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 2018-07-06
    • 2023-03-21
    • 1970-01-01
    • 2015-08-03
    相关资源
    最近更新 更多