我有一个已创建的macOS应用。而且我有一个使用窗口和情节提要构建的“首选项”窗口,其中的表格工具栏样式为NSTabViewController。
尽管如此,我仍无法覆盖选项卡图标的位置-它们默认位于窗口的左侧。 有可能吗?
答案 0 :(得分:3)
子类NSTabViewController
并覆盖func toolbarDefaultItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier]
。在两侧添加一个flexibleSpace
工具栏项。
答案 1 :(得分:1)
遵循 Willeke 的提示,我在NSTabViewController
子类中提出了此替代方法:
override func toolbarDefaultItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] {
super.toolbarDefaultItemIdentifiers(toolbar)
var arr = Array<NSToolbarItem.Identifier>()
for item in self.tabViewItems {
if let identifier = item.identifier {
arr.append(NSToolbarItem.Identifier.init(identifier as! String))
}
}
//insert flexible spaces at first and last index
arr.insert(NSToolbarItem.Identifier.flexibleSpace, at: 0)
arr.append(NSToolbarItem.Identifier.flexibleSpace)
return arr
}