1

我正在使用基于单元格的 NSTableView。有什么方法可以创建自定义NSCell子类并在其中绘制 NSProgressIndicator 吗?

类似于:

-(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView{
  [myProgressControl drawOnView:controlView]; //?
}

NSProgressIndicator本身仅用作状态指示,不用户交互(不需要鼠标点击等)。

我想坚持使用基于单元格的 NSTableView,因为我使用的是 NSTableViewDataSource。NSLevelIndicatorCell是另一种选择,但我更喜欢外观/设计NSProgressIndicator

4

1 回答 1

1

首先,我不确定您所说的“我想坚持基于单元格,NSTableView因为我使用了NSTableViewDataSource”。基于视图的表视图和 之间没有不兼容NSTableViewDataSource,尽管有些事情的工作方式略有不同。

无论如何,Apple 有一个示例项目AnimatedTableView,它显示了在NSCell基于 - 的表格视图中使用进度指示器。这不是通过使用自定义单元类来完成的。相反,进度指示器作为子视图添加到表视图中。在出现这种情况之前,它实际上是基于视图的表视图的穷人版本。

不用说,我建议您切换到基于视图的表格视图,而不是使用那种复杂的方法。

于 2015-05-11T18:31:12.490 回答