【问题标题】:touchesBegan not called in NSScrollView subclass until the first mouse/trackpad click on the view在第一次鼠标/触控板单击视图之前,不会在 NSScrollView 子类中调用 touchesBegan
【发布时间】:2018-11-12 09:50:30
【问题描述】:

我将一个 NSScrollView 子类化以使用 touchesBegan/Moved/Ended 监视 2 指平移。只要我在应用程序启动后单击一次视图,它就可以工作。然后它将一直有效,直到我下次重新启动应用程序。

我想我在这里遗漏了一些非常明显的东西。也许是一个允许它立即接受触摸的 NSScrollView/NSView 属性。有人可以帮忙吗?

顺便说一句,当我添加一个 NSTableView 时,NSScrollView 是在 Storyboard 中自动创建的。

【问题讨论】:

    标签: macos gesture nsscrollview nsevent


    【解决方案1】:

    找到了解决办法。

    这实际上是一个菜单栏应用程序,因此视图控制器位于 NSPopover 内。在弹出窗口中显示应用程序不会使该应用程序成为激活应用程序。在它可以响应触摸之前,我必须使用以下行使其处于活动状态。

    NSApplication.shared.activate(ignoringOtherApps: true)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      • 1970-01-01
      • 2012-12-31
      • 1970-01-01
      相关资源
      最近更新 更多