gpt4 book ai didi

objective-c - 增加 NSOutlineView 中过紧的图标间距

转载 作者:行者123 更新时间:2023-12-03 17:00:34 24 4
gpt4 key购买 nike

我正在编写一个 Cocoa 应用程序,它显示 NSOutlineView 中的存档文件的内容。 。我为 NSBrowserCell 提供自定义图标在大纲列中,但我无法获得正确的间距 - 文件夹图标总是显得离显示三角形太近,如下所示。 (FWIW,VersionsBetterZip 都显示类似的数据,没有间距问题。)

NSOutlineView-icon-spacing http://img.skitch.com/20090918-tgfjh9x8dhgqxqnb2su8fby4ng.jpg

由于只有文件夹图标会出现此问题,因此我实际上只关心修复该上下文中的间距。 (注意:我已经缓存了图标以供重用,因此如果有必要,我可以操作文件夹图像,因为无论如何它只会发生一次。)我不确定是否可以在 NSBrowserCell 实例中调整某些内容,但我还没有找到任何有效的方法,这并不是因为缺乏尝试。

<小时/>

对于好奇的人,JarScan是一个方便(免费)的命令行工具,用于在 JAR 文件中查找 Java 类。

最佳答案

“大纲表列”(参见 -[NSOutlineView outlineTableColumn] )是 NSTableColumn根据需要绘制三角形和左侧填充以显示层次结构。用于显示表格内容的默认单元格是 NSTextFieldCell 。要增加您看到的间距,您必须在自定义 NSTextFieldCell 子类中进行绘图。间距是通过使用 x 偏移绘制图像来实现的。 (无论使用哪个 NSCell 子类,轮廓 View 都会绘制显示三角形。)

请注意,当可以输入单元格、选择单元格进行编辑以及显示工具提示时,您可能必须重写以下方法才能正确绘制:

默认情况下,您的自定义文本矩形将被文本字段忽略,并且这些矩形的绘制会很奇怪。

关于objective-c - 增加 NSOutlineView 中过紧的图标间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1442723/

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