【问题标题】:Why do NSOutlineView cells overlap group cells when floatsGroupRows is Enabled为什么启用 floatsGroupRows 时 NSOutlineView 单元格会与组单元格重叠
【发布时间】:2014-11-29 05:02:46
【问题描述】:

我正在 Yosemite 上创建一个新应用程序,其中包含通过对象库中的“源列表”项创建的 NSOutlineView。默认情况下,floatsGroupRows 已启用。我将顶级项目作为组项目,将其他项目作为普通单元格项目。这很好,除了当我向上滚动时,常规项目不会在组项目下消失,而是与它们重叠:

在这里,我希望“Foo”项目有一半是不可见的,但事实并非如此,它只是流过(在?)“THINGS”组项目。除了禁用floatsGroupRows,还有什么办法可以解决这个问题?

【问题讨论】:

  • 我认为 Apple 意识到源列表和浮动组行之间的不兼容。当然,浮动组行违背了源列表的样式。 10.7 AppKit release notes 说,“一般来说,源列表不应该浮动组行,应该调用 [outline setFloatsGroupRows:NO]。”
  • 啊,没错。我从源列表切换到常规大纲视图,效果更好。谢谢。如果您愿意添加一个答案,很高兴接受@KenThomases。

标签: xcode macos interface-builder nsoutlineview


【解决方案1】:

我认为 Apple 已经意识到源列表和浮动组行之间的不兼容。当然,浮动组行违背了源列表的样式。 10.7 AppKit release notes 说:

一般来说,源列表不应该浮动组行,应该调用[outline setFloatsGroupRows:NO]

因此,您不应该使用源列表(即使用普通样式的大纲视图)或不使用浮动组行。

【讨论】:

  • 是的,普通大纲视图对于浮动组行确实具有更合理的行为。感谢您提供指向非常有用的文档的链接。
猜你喜欢
  • 1970-01-01
  • 2022-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多