【发布时间】:2018-08-04 22:58:05
【问题描述】:
有没有办法在 NSTableView 中合并单元格?
我知道在 NSTableView 中显示数据有两种模式:基于单元格和基于视图。如果数据由单元格呈现,函数
tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int)
负责,否则
tableView(_ tableView: NSTableView, rowViewForRow row: Int)
目前我正在使用第一个。在 iOS 中,您可以使用界面生成器中的单元格原型将视图与自定义 UITableViewCell 链接,但是如何在 NSTableView 中实现完整行呢?
【问题讨论】:
-
不,
tableView(_:viewFor:row:)是一种基于视图的表格视图方法。 “如果您想在表格视图中使用 NSView 对象而不是 NSCell 对象来处理表格视图中的单元格,则需要此方法。” -
我认为您可能会将“单元格”与表格中的单个正方形混淆。 cell,在 Cocoa 中,是一个执行视图渲染的对象(通常是控件)。例如,
NSButton具有实际执行绘图的NSButtonCell对象。如果要“合并”一行的单元格并使用单个视图绘制整行,则需要实现- [NSTableViewDelegate tableView:rowViewForRow:]。该方法首先被调用,如果它返回一个视图,则该视图用于整行。 -
想一想,我不确定这是否正确。但是表委托有一种方法可以指定哪些行显示单个视图,哪些是“整个”行视图。我将从 WWDC 基于视图的表格视图视频开始,并查看一些示例项目——因为表格视图编程指南或 API 文档似乎都没有解释这一点。
标签: cocoa interface-builder nstableview