NSPopover
タッチバーのサポートを追加したいウィンドウがあります。標準のタッチバー サポートを実装できましたがNSWindow
、ポップオーバーに対して同じ手順を実行しても、xCode タッチバー シミュレーターにタッチバー項目が表示されません。
私はととして提示されている を実装makeTouchbar
しNSTouchBarDelegate
ています。デリゲート関数が呼び出されていますが、タッチバーには何も表示されません (以下のコード ブロックでは、タッチバーとヒントの両方がログに記録されています)。NSViewController
NSPopover
makeTouchBar
キーボード フォーカスがあっても、NSPopover ウィンドウがアクティブなアプリとしてタッチバーをトリガーしないことが心配です。ウィンドウのタッチバー項目を表示するにはどうすればよいNSPopover
ですか?
//MARK: Touch bar
@available(OSX 10.12.1, *)
override func makeTouchBar() -> NSTouchBar? {
Swift.print("Touchbar.")
let touchBar = NSTouchBar()
touchBar.delegate = self
touchBar.customizationIdentifier = .touchBar
touchBar.defaultItemIdentifiers = [.tbHint, .colourC]
return touchBar
}
@available(OSX 10.12.1, *)
extension RememberViewController: NSTouchBarDelegate {
func touchBar(_ touchBar: NSTouchBar, makeItemForIdentifier identifier: NSTouchBarItemIdentifier) -> NSTouchBarItem? {
switch identifier{
case NSTouchBarItemIdentifier .tbHint:
Swift.print("hint")
let buttonView = NSCustomTouchBarItem(identifier: identifier)
let button = NSButton(title: "Hint", target: self, action: #selector(showHint))
buttonView.view = button
return buttonView
case NSTouchBarItemIdentifier .colourC:
let colorPicker: NSColorPickerTouchBarItem
colorPicker = NSColorPickerTouchBarItem.colorPicker(withIdentifier: identifier)
colorPicker.customizationLabel = "Color Picker"
colorPicker.target = self
colorPicker.action = #selector(showHint)
return colorPicker
default:
return nil
}
}
}