我想自定义我的 NSTableView. 。我的总体要求是这样:

  • 每行都有一个图像和一些文字;图像和文字可能不同。
  • 有些单元可能没有图像。
  • 行高度取决于某些外部因素。
  • 单元不应该绘制背景,它应该显示 NSTableView 背景。

到目前为止,我能够用一些文本绘制透明的单元格。我谷歌搜索并发现我需要自定义每个单元格。现在我有一个问题:我应该维护两列还是应该一列还可以,左侧有一个图像并与之相邻的文本?

我也知道我需要覆盖两种方法:

- (void) drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView

因此,对于每个单元格,我需要绘制/构造单元格 - 有人可以指导我吗?我要朝正确的方向前进吗?我可以通过上述方法实现具有动态高度的透明背景吗?

有帮助吗?

解决方案

每行都有一个图像和一些文字,

因此,两列 - 一个带有图像单元格,另一个带有文本字段单元格。

图像和文字可能不同,

我应该这样。

某些单元可能没有图像,

没问题。

行高度取决于某些外部因素,

成为表观视图的代表,它将问您该行的高度应该是多少。

单元不应该画背景,

除非您将其设置为此,否则它不会。

总体而言,它应该显示nstableview背景,

无论如何,表视图将绘制自己的背景,您可以在IB的检查员中设置。如果您希望表视图不绘制背景,则将其背景颜色设置为透明颜色。

您不需要任何一个自定义单元格。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top