我想构建一个包含大约 400 个单元、4 列 100 个单元的控制器。必须绘制每个单元格并响应鼠标事件。这会不会太重了?我应该为每个单元格使用另一种方法,如 CALayer 或 NSCell 吗?
user2142216
问问题
107 次
1 回答
1
通常不建议对轻量级对象使用数百(数千个..)视图,因为它们是相当重量级的对象 - 只需查看参考页面NSView
即可了解它处理的各种内容。
我们不太了解您的问题 - 可能是一张简单的表格,可能是某种简单的 CAD 应用程序,也可能是其他任何东西,因此很难判断。
但是,在任何情况下,您至少应该考虑实现单个自定义NSView
实例并跟踪作为自定义实现的一部分显示的对象。
在您的自定义视图中跟踪点击发生的位置并不难——尤其是如果它的内容以高度规则的方式显示(表格、树视图等)。
您可以查看 Apple 的TreeView示例(链接到 ADC 站点)以获得显示结构化内容的单个视图(还有一个附带的 WWDC 会话,其中包含有关设计决策、实施等的背景信息)
于 2013-06-04T05:47:57.787 回答