1
是否可以檢測NSTouchBarView
上的手指平底鍋?如何檢測NSTouchBarView中的平移手勢
對不起,缺乏代碼,但我甚至不知道從哪裏開始。
的MacOS沒有爲手指觸摸作出,但觸摸欄中的是,但我看不出如何做到這一點上NSTouchBarView
是否可以檢測NSTouchBarView
上的手指平底鍋?如何檢測NSTouchBarView中的平移手勢
對不起,缺乏代碼,但我甚至不知道從哪裏開始。
的MacOS沒有爲手指觸摸作出,但觸摸欄中的是,但我看不出如何做到這一點上NSTouchBarView
我不知道具體是有關在觸摸條使用NSTouchBarView
,但使用泛識別通常這樣工作:創建一個視圖,然後創建一個NSPanGestureRecognizer
(不要忘記設置目標和操作),然後將識別器添加到先前創建的視圖。最後,創建您的NSCustomTouchBarItem
並將以前創建的視圖分配給該項目的視圖。 Swift中的快速示例:
func touchBar(_ touchBar: NSTouchBar, makeItemForIdentifier identifier: NSTouchBarItemIdentifier) -> NSTouchBarItem? {
switch identifier {
case NSTouchBarItemIdentifier.yourCustomItem:
return itemWithRecognizer(identifier: identifier)
default:
return nil
}
}
func itemWithRecognizer(identifier: NSTouchBarItemIdentifier) -> NSTouchBarItem {
let customView = NSView()
customView.wantsLayer = true
let recognizer = NSPanGestureRecognizer()
recognizer.target = self
recognizer.action = #selector(doSomething)
customView.addGestureRecognizer(recognizer)
let item = NSCustomTouchBarItem(identifier: identifier)
item.view = customView
return item
}
func doSomething() {
// gesture was activated
}
很好!!!謝謝! – SpaceDog