gpt4 book ai didi

objective-c - 有没有办法为 NSTableColumn 的每一行显示不同的小图像(图标)?

转载 作者:行者123 更新时间:2023-12-03 16:46:44 26 4
gpt4 key购买 nike

有没有办法为 NSTableColumn 的每一行显示不同的小图像(图标)?

我不一定需要为其添加新列,我想知道是否可以在每行文本前面添加图标。

我知道有一个方法: - (void)setDataCell:(NSCell *)aCell 。然而,此方法似乎对所有行使用相同单元格,这不是我想要的。

是否有解决此问题的方法,不需要子类化 NSTableColumn ?如果不是,我应该子类化什么?

谢谢

最佳答案

将相关列的单元格设置为 NSImageCell。您可以在 Interface Builder 中通过将“图像单元”从对象库拖到列上来完成此操作。然后选择该列,您将能够通过数据、值、值路径或 Valueurl 绑定(bind)之一绑定(bind)到图像源。选择哪一个取决于模型中的 source 属性是否分别返回 NSData、NSImage、NSString 路径或 NSURL url。请参阅documentation关于 NSImageCell 绑定(bind)以获取更完整的信息。

每行的单元格都是相同的,因为它们是一个轻量级类,用作绘图性能优化。但这并不意味着每行都必须使用单元格来绘制相同的图像,就像文本列的单元格必须为每行绘制相同的字符串一样。

如果您确实需要将图像与文本放在同一列中,则必须执行类似于 duDE 解释的操作。在我的脑海中,我相信在这种情况下绑定(bind)仍然是可能的,但是您必须编写更多代码才能使其工作。我可能不会这样做,而是转而使用基于 View 的 NSTableView,这使得将多个 View 轻松地放置在单个列/行中,并且让您可以继续使用绑定(bind)而无需任何额外的工作。

编辑:duDE 的答案已被删除,但总而言之,它建议创建一个自定义 NSCell 子类来绘制图像和文本。

关于objective-c - 有没有办法为 NSTableColumn 的每一行显示不同的小图像(图标)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15204292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com