【问题标题】:How to detect a Pan Gesture inside a NSTouchBarView如何检测 NSTouchBarView 中的平移手势
【发布时间】:2017-06-29 17:27:38
【问题描述】:

是否可以检测到NSTouchBarView 上的手指平移?

很抱歉缺少代码,但我什至不知道从哪里开始。

MacOS 不适用于手指触摸,但 TouchBar 可以,但我不知道如何在 NSTouchBarView 上进行操作

【问题讨论】:

    标签: macos nstouchbar


    【解决方案1】:

    我不知道具体如何使用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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多