如何在 NSMenuItem 中显示搜索栏
How to display search bar in NSMenuItem
我正在构建一个显示用户 github 存储库列表的 MenuBar Swift Cocoa 应用程序。单击一个后,它会打开一个新的浏览器 window,存储库位于 github.com。
我正在成功加载存储库列表并将它们呈现给 NSMenuItem 对象。现在,我正在尝试在列表顶部添加一个搜索栏,并根据搜索短语重新呈现项目。
我的问题是:
- 在 NSMenu 中显示 "search bar" 的最佳方法是什么?
- 有"search/filter"
NSMenuItem
的标准方法吗?
- 我应该重新呈现整个菜单(调用
.removeAllItems()
)并动态添加新项目吗?或者我应该有两个静态菜单吗?我问这个是因为布局(例如 NSMenuItem
s)在用户搜索和不搜索时会有所不同。
我正在使用 Swift 3 和 Xcode 8.3。谢谢!
好吧,经过几个月的尝试,我想通了。
在 NSMenu 中显示 "search bar" 的最佳方法是什么?
您可以将 NSMenuItem
添加到 NSMenu
并将其视图设置为 CustomView
(searchItem.view = searchView
,连接 searchItem
和 searchView
通过将它从故事板拖到控制器中)。
是否有 "search/filter" NSMenuItems 的标准方法?
不,没有。清除项目并重新渲染。
我是否应该重新呈现整个菜单(调用 .removeAllItems())并动态添加新项目?或者我应该有两个静态菜单吗?我问这个是因为布局(例如 NSMenuItems)在用户搜索和不搜索时会有所不同。
事实证明,有两个子菜单是一个很好的解决方案。
我正在构建一个显示用户 github 存储库列表的 MenuBar Swift Cocoa 应用程序。单击一个后,它会打开一个新的浏览器 window,存储库位于 github.com。
我正在成功加载存储库列表并将它们呈现给 NSMenuItem 对象。现在,我正在尝试在列表顶部添加一个搜索栏,并根据搜索短语重新呈现项目。
我的问题是:
- 在 NSMenu 中显示 "search bar" 的最佳方法是什么?
- 有"search/filter"
NSMenuItem
的标准方法吗? - 我应该重新呈现整个菜单(调用
.removeAllItems()
)并动态添加新项目吗?或者我应该有两个静态菜单吗?我问这个是因为布局(例如NSMenuItem
s)在用户搜索和不搜索时会有所不同。
我正在使用 Swift 3 和 Xcode 8.3。谢谢!
好吧,经过几个月的尝试,我想通了。
在 NSMenu 中显示 "search bar" 的最佳方法是什么?
您可以将
NSMenuItem
添加到NSMenu
并将其视图设置为CustomView
(searchItem.view = searchView
,连接searchItem
和searchView
通过将它从故事板拖到控制器中)。是否有 "search/filter" NSMenuItems 的标准方法?
不,没有。清除项目并重新渲染。
我是否应该重新呈现整个菜单(调用 .removeAllItems())并动态添加新项目?或者我应该有两个静态菜单吗?我问这个是因为布局(例如 NSMenuItems)在用户搜索和不搜索时会有所不同。
事实证明,有两个子菜单是一个很好的解决方案。