代码之家  ›  专栏  ›  技术社区  ›  Quinn Taylor

在nsOutlineView中增加过窄的图标间距

  •  1
  • Quinn Taylor  · 技术社区  · 16 年前

    我正在编写一个cocoa应用程序,它在 NSOutlineView . 我提供自定义图标 NSBrowserCell 在大纲栏中,但是我还不能得到非常正确的间距,文件夹图标总是显示得太靠近披露三角形,如下所示。(FWW) Versions BetterZip 两者都显示类似的数据,而不存在间距问题。)

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

    因为只有文件夹图标会有这个问题,所以我只关心在那个上下文中修复间距。(注意:我已经在缓存图标以供重用,因此,如果需要,我不需要处理文件夹图像,因为它只会发生一次。)我不确定在nsbrowsercell实例中是否有可以调整的内容,但我还没有找到任何有效的内容,不是因为缺乏尝试。


    出于好奇, JarScan 是一个方便的(免费)命令行工具,用于定位JAR文件中的Java类。

    1 回复  |  直到 16 年前
        1
  •  3
  •   Quinn Taylor    16 年前

    “大纲表列”(参见 -[NSOutlineView outlineTableColumn] )是 NSTableColumn 根据需要绘制三角形和左填充以显示层次结构。显示表内容的默认单元格是 NSTextFieldCell . 要增加看到的间距,必须在自定义nstextfieldsell子类中绘制。间距是通过用X偏移绘制图像来实现的。(无论使用哪一个nscell子类,大纲视图都将绘制披露三角形。)

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

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

    推荐文章