使用绑定设置NSBrowserCell图像?

时间:2008-12-08 04:57:49

标签: cocoa cocoa-bindings nstreecontroller

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

2 个答案:

答案 0 :(得分:2)

不幸的是,使用NSBrowserCell无法轻松完成此操作。为浏览器列使用另一个单元格,一个在-setObjectValue中传递给它的对象值:并适当地填充自己的文本和图像。

答案 1 :(得分:2)

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

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

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

这使您可以在浏览器绘制之前自定义您想要的单元格。看一下/ Developer / Examples / AppKit中的SimpleBrowser示例,你会找到一个如何在那里使用这个委托方法的例子。您不应该需要他们在该项目中使用的自定义单元格 - 该项目在10.2天之前回来,之后NSBrowserCell提供了自己的图像绘制机制。