如何在NSOutlineView的高亮常规模式下显示显示/隐藏按钮?

时间:2015-05-27 06:39:48

标签: objective-c macos swift cocoa nsoutlineview

如何在NSOutlineView的高亮常规模式下显示显示/隐藏按钮?

我在NSOutlineview的顶部有一个grop项目。我尝试在该组项目中显示显示/隐藏按钮,但我找不到任何方法来执行此操作。源列表模式可以显示它,但常规模式不会显示。

是否可以在NSOutlineview的高亮常规模式中显示显示/隐藏按钮?

感谢您的帮助

1 个答案:

答案 0 :(得分:5)

此行为特定于源列表外观。没有公共API可以解决这个问题,因为它是标准化外观的有意执行(在Apple的部分)。你可以在标题中挖掘,寻找一种方法来解决问题。#hot; hotwire"事情,但使用私人API禁止您通过App Store分发您的应用程序。

更简单(非私有API使用)路线是使用带有显示/隐藏标题的无边框按钮创建自己的单元格视图。在单元格视图(按钮的超级视图)上使用鼠标跟踪区域(请参阅NSTrackingArea)设置按钮的alpha(通过其动画制作工具),以便在鼠标输入/输出时淡入/淡出按钮。您的按钮会告诉大纲视图展开/折叠其单元格视图的代表项目(最简单的方法是通过自定义NSView单元格视图类定义按钮的插座并配置按钮的目标/为项目创建单元格视图时的操作。)