我想要类似于 Dock 中堆栈的“列表模式”。但它应该具有 NSPopUpButton 的行为,在“抽屉”折叠时仍然显示所选对象。每行应包含一个图像和文本列。
你会如何意识到这一点?也许继承 NSPopUpButton,以显示 CollectionView?或者有一个普通按钮并在单击时附加一个包含 CollectionView 的窗口?
哦,还有这个上下条,而不是侧面的滚动条 - 这是怎么做的?
问问题
387 次
1 回答
0
为什么不使用一个常规的 NSPopUpButton,它的菜单组件被替换为子类 NSMenu/NSMenuItem,它可以按照你想要的方式绘制东西?您可以免费获得所有滚动行为。
但是,如果您坚持使用 NSCollectionView,则:
1 - 如果您打算弹出菜单以外的任何内容,请不要将 NSPopUpButton 子类化。它是为显示菜单而设计的。只需使用常规 NSButton 并手动管理其状态(显示集合视图时为 NSOnState ;否则为 NSOffState )。
2 - 您可以使用标准集合视图/滚动视图组件减去滚动条来显示无边框透明窗口(在线提供许多示例)。无边框窗口可以承载向上/向下区域(可以是带有 NSTrackingAreas 以检测鼠标悬停的简单视图)。这些区域可以在悬停时使用 NSTimer 每 n 毫秒手动滚动一次 NSScrollView。
于 2010-11-11T15:46:23.010 回答