0

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

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)'了底线。

如何将按钮添加到触摸栏并随意删除?是否有一个数组可以通过视图进入,或者我应该始终在触摸栏视图上添加Subview?

4

1 回答 1

0

我建议查看有关创建 NSTouchBar 和 NSTouchBarItems 的指南,特别是“NSTouchBar Objects”、“Using NSTouchBarItem Objects”;以及NSGroupTouchBarItem的文档

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

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

 groupItem.groupTouchBar.templateItems.insert(customViewItem)
 groupItem.groupTouchBar.defaultItemIdentifiers.append(customViewItem.identifier)
于 2017-07-18T15:45:10.003 回答