【问题标题】:Setting editable on a NSTextField doesn't have any effect在 NSTextField 上设置可编辑没有任何效果
【发布时间】:2015-06-05 01:04:43
【问题描述】:

我在一个视图中有一个NSTextField,它绑定到视图的视图控制器中的一个值。当按下按钮时,我希望使文本字段不再可编辑,因此我使用以下代码:

- (IBAction)makeTextFieldNotEditable:(id)sender {
    self.textField.editable = NO;
}

一切都正确绑定,我可以确认当我按下按钮时上述方法被调用,但文本字段仍然可编辑。我该如何解决这个问题?

【问题讨论】:

    标签: macos cocoa cocoa-bindings nstextfield


    【解决方案1】:

    这是因为默认情况下,当您在 Interface Builder 中绑定 NSTextField 的值时,它会勾选 Conditionally Sets Editable 框,这意味着文本字段绑定的值会设置 editable文本字段的属性。

    取消选中此框使我的原始代码工作。

    【讨论】:

    • 如果您以编程方式绑定,Conditionally Sets Editable 也会设置为 true。在这种情况下,您必须将其设置为 false: textfield.bind("value", to: arrayController, withKeyPath: "selection.text", options: [NSConditionallySetsEditableBindingOption: false])
    猜你喜欢
    • 2015-02-19
    • 2011-11-05
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多