我正在使用基于单元格的NSTableView。有没有办法创建自定义NSCell
子类并在其中绘制NSProgressIndicator?
类似于:
-(void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView{
[myProgressControl drawOnView:controlView]; //?
}
NSProgressIndicator
本身仅作为状态指示,不与用户互动(无需鼠标点击等)。
因为我使用NSTableViewDataSource,所以我想坚持使用基于单元格的NSTableView。 NSLevelIndicatorCell
是另一种选择,但我更喜欢NSProgressIndicator
答案 0 :(得分:1)
首先,我不确定你的意思"我想坚持使用基于单元格的NSTableView
,因为我使用NSTableViewDataSource
" 。基于视图的表视图与NSTableViewDataSource
之间没有不兼容性,尽管有些情况有所不同。
无论如何,Apple有一个示例项目AnimatedTableView,它显示了基于NSCell
的表格视图中的进度指示器。它不是通过使用自定义单元类完成的。而是将进度指示器作为子视图添加到表视图中。在有这样的事情之前,它实际上是一个基于视图的表格视图的穷人版本。
毋庸置疑,我建议您切换到基于视图的表格视图,而不是使用那种错综复杂的方法。