我正在构建一个MenuBar Swift Cocoa应用程序,该应用程序显示用户的github存储库列表。点击一个后,它会打开一个新的浏览器窗口,其中包含github.com上的存储库。
我成功加载了repos列表并将它们呈现给NSMenuItem对象。现在,我尝试在列表顶部添加搜索栏,并根据搜索词组重新呈现项目。
我的问题是:
NSMenuItem
S'.removeAllItems()
)并动态添加新项目吗?或者我应该有两个静态菜单?我之所以这样问,是因为布局(例如NSMenuItem
s)在用户搜索时以及他们没有搜索时会有所不同。我使用的是Swift 3和Xcode 8.3。谢谢!
答案 0 :(得分:3)
好吧,经过几个月的尝试,我明白了。
显示"搜索栏"的最佳方法是什么?在NSMenu?
您可以向NSMenuItem
添加NSMenu
并将其设置为CustomView
(searchItem.view = searchView
,连接searchItem
和{{ 1}}将它从故事板拖到控制器中。)
是否有标准方式来搜索/过滤" NSMenuItems吗
不,没有。清除项目并重新渲染。
我应该重新渲染整个菜单(调用.removeAllItems())并动态添加新项目吗?或者我应该有两个静态菜单?我之所以这样问,是因为布局(例如NSMenuItems)在用户搜索时以及他们不在时都会有所不同。
有两个子菜单是一个很好的解决方案。