7

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

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

显示为 NSTextField 内容的 NSString 或 NSNumber。

显示为 NSTextFieldCell 内容的 NSString 或 NSNumber。

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

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

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

4

2 回答 2

9

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

于 2016-04-03T21:54:13.250 回答
0
  1. 使用 NSTextField 更改文本颜色,设置默认文本字符串,设置字段背景。
  2. 使用 NSTextFieldCell 设置默认占位符文本。
于 2016-04-03T22:49:33.730 回答