自定义视图或自定义单元格

问题描述:

我有一个关于创建自定义视图的问题。我想实现一个接口,我希望在一个地方配置不同的对象,每个对象都有自己的控件。有点像在automator中,在右侧视图中,工作流以不同的动作显示。是那些NSView或NSCell的子类? 任何例子将不胜感激!自定义视图或自定义单元格

这里是你如何告诉一个的NSCell和一个NSView相距:

NSCells基本上是邮票。给定一定的价值/对象,NSCell知道如何在屏幕上绘制你想要的。就像NSTextCells知道如何在屏幕上绘制NSString的方式。 NSCells没有状态,不记得任何东西,它们只是一组一套绘图指令,可以用给定的值/对象来执行。这个想法是尽可能地重用NSCell,使画面上的绘画变得非常简单。

NSViews是您屏幕上发生的事情的逻辑容器。他们可以在技术上做自己的绘图,但其中不少人使用NSCell来做绘图。例如,NSTextField使用NSTextCell在屏幕上绘制文本,它还包含在编辑期间切换编辑和不编辑时所需的额外逻辑,方法是显示编辑期间可以键入的文本框,以及在不编辑时使用NSTextCell编辑。 NSViews也是Responder链的一部分,可以响应鼠标点击,键盘事件和排序。

你可能最终会得到两个,NSViews来保存你想用来配置每个对象和NSCells绘制自定义用户界面元素(如使用非标准控件)的所有控件。