当表为空时如何为NSTableView中的给定列确定NSTableCellView?

问题描述 投票:0回答:1

我有一个基于视图的NSTableView实例,其中包含一列。我需要在填充表之前确定该列的NSTableCellView实例。我需要一个视图来确定它的高度和它所包含的文本字段所使用的字体。

我已经尝试过

func view(atColumn: Int, row: Int, makeIfNecessary: Bool) -> NSView?

但是它崩溃,因为空表不包含任何行。

我尝试使用该单元格的标识符并进行了调用

func makeView(withIdentifier: NSUserInterfaceItemIdentifier, owner: Any?) -> NSView?

但是表中提供了标识符后表未显示任何数据。我认为这可能与将表绑定到数组控制器有关。

因为,当在IB中构造表时,人们在NSTableColumns中创建了NSTableCellView的实例,我以为会有一种查询列以获取视图的方法,但事实并非如此。

任何指导将不胜感激。

macos cocoa nstableview nstablecellview
1个回答
0
投票

来自makeView(withIdentifier:owner:)

请注意,单元格视图的标识符必须与其表列的标识符相同,绑定才能起作用。如果您使用绑定,建议您使用Interface Builder中的“自动标识符”设置。

makeView(withIdentifier:owner:)中使用表列的标识符,或在表列和单元格视图中使用相同的标识符。

© www.soinside.com 2019 - 2024. All rights reserved.