如何将视图添加到NSGroupTouchBarItem

时间:2017-07-16 22:06:47

标签: macos nstouchbar

尝试制作触摸栏上显示的可变按钮列表

override func windowDidLoad() {
    super.windowDidLoad()
    let customViewItem = NSCustomTouchBarItem(identifier: NSTouchBarItemIdentifier(rawValue: "identifier"))
    customViewItem.view = NSTextField(labelWithString: " ")
    groupTouchBarItem.view?.addSubview(customViewItem)
}

但我得到Cannot invoke 'addSubview' with an argument list of type '(NSCustomTouchBarItem)'的最后一行。

如何在触摸栏上添加按钮并随意删除它们?是否有可以通过视图查看的数组,或者我应该始终在触摸栏视图上添加子视图?

1 个答案:

答案 0 :(得分:0)

我建议你查看这个guide on creating NSTouchBar and NSTouchBarItems,特别是“NSTouchBar Objects”,“使用NSTouchBarItem对象”;以及NSGroupTouchBarItem

的文档

简而言之,当您创建Touch Bar内容时,您可以通过将NSTouchBarItems组合成NSTouchBar而不是他们的视图来创建。 (您主要仅在NSCustomTouchBarItems上设置视图时处理视图)并且使用NSGroupTouchBarItem,您将向其groupTouchBar添加其他项目。

有一些便利,例如:NSGroupTouchBarItem(identifier: .myGroupItem, items: [customViewItem]),但您也可以通过以下方式逐步添加:

 groupItem.groupTouchBar.templateItems.insert(customViewItem)
 groupItem.groupTouchBar.defaultItemIdentifiers.append(customViewItem.identifier)