2

我有一个 NSBrowser 连接到一个 NSTreeController 绑定到一个 NSTreeNode 对象数组。通过设置 Content 和 Content Value 绑定以正确引用树控制器,很容易使文本部分正常工作,但是如何使用绑定为每个单元格设置图像?

4

2 回答 2

2

不幸的是,你不能用 NSBrowserCell 轻松做到这一点。为您的浏览器列使用另一个单元格,该单元格采用 -setObjectValue: 中传递给它的对象值:并适当地填充其自己的文本和图像。

于 2008-12-08T14:38:17.590 回答
2

没有内置机制可以仅使用绑定在浏览器单元格中显示图像。如果你真的想要,你可以安装这样的系统,但根据我的经验,有时它比跳过箍更麻烦,因为你可以说你所有的东西都使用绑定,而且用老式的方式做事更容易。

将图像放入浏览器单元格的“传统”方法是实现浏览器委托方法:

- (void)browser:(NSBrowser *)sender willDisplayCell:(id)cell atRow:(NSInteger)row column:(NSInteger)column

这使您可以在浏览器绘制单元格之前根据需要自定义单元格。查看 /Developer/Examples/AppKit 中的 SimpleBrowser 示例,您会在其中找到如何使用此委托方法的示例。不过,您不应该需要他们在该项目中使用的自定义单元格 - 该项目从 10.2 天之前开始,在 NSBrowserCell 提供自己的图像绘制机制之前。

于 2008-12-08T15:18:28.900 回答