【问题标题】:What is the difference between NSTextField and NSTextFieldCell and to which do I bind?NSTextField 和 NSTextFieldCell 有什么区别,我应该绑定哪个?
【发布时间】:2016-04-03 21:25:38
【问题描述】:

更一般地说,控制类和控制单元类之间有什么区别?按钮具有相同的层次结构,例如 - NSButton 和 NSButtonCell。

查看NSTextField bindingsNSTextFieldCell bindings 的文档,它们都有相同的“值”文档。为什么它们都有价值?一个可以没有另一个而存在并且仍然显示一个值吗?

显示为 NSTextField 内容的 NSString 或 NSNumber。

显示为 NSTextFieldCell 内容的 NSString 或 NSNumber。

因此,当我将文本字段或任何其他控件拖到 UI 中时,如何确定要实际绑定到层次结构中的哪些对象?

IB 中有更复杂的控件,它们在文档大纲中创建复杂的层次结构,尽管我搜索了很多,但我无法找到解释我应该关注和使用哪些对象的文档绑定和连接。

我会接受 NSTextField/NSTextFieldCell 的答案,但我真的很想知道如何辨别构成控件的所有内容之间的差异,以及在开发我的应用程序时我应该关注的内容。

【问题讨论】:

    标签: objective-c cocoa nstextfield nstextfieldcell


    【解决方案1】:

    绑定到 NSTextField。 NSCells 的存在是为了帮助在屏幕上绘制东西,但在很大程度上是过去的遗物,因为赋予所有东西自己的视图被认为是性能问题。苹果正在逐渐弃用它们。它们公开了许多相同的接口,但如果需要,NSTextfield 会正确地将正确的信息委托给它的单元格。如果您打算覆盖其外观,您实际上只需要更改单元格。

    【讨论】:

      【解决方案2】:
      1. 使用 NSTextField 更改文本颜色,设置默认文本字符串,设置字段背景。
      2. 使用 NSTextFieldCell 设置默认占位符文本。

      【讨论】:

        猜你喜欢
        • 2021-04-15
        • 1970-01-01
        • 2011-09-16
        • 1970-01-01
        • 2012-01-16
        • 1970-01-01
        • 1970-01-01
        • 2019-03-16
        相关资源
        最近更新 更多