如何在 MacOS SwiftUI 应用程序中监听触控板事件

How to Listen for trackpad events in MacOS SwiftUI app

我有一个用户可以拖动以关闭的 SwiftUI 视图。在 MacOS 上,如果用户用鼠标单击并拖动,这将平移视图。我想让他们通过触控板滑动(类似于苹果邮件应用程序滑动消息的方式)。我如何使用 SwiftUI 执行此操作?我要监听哪些事件?

        .offset(self.offset)
        .gesture(
            DragGesture()
                .onChanged { gesture in
                    self.offset = gesture.translation
            }
        )

滑动删除仅适用于 macOS List。目前您无法显示自定义的。

要在您的列表中删除要删除的幻灯片,您必须将 .onDelete 属性 添加到列表中...

.onDelete(perform: action)

..这将启用幻灯片删除。

我最终通过覆盖 NSWindow.scrollWheel(with event:) 来支持这一点,其中包括对 event.trackSwipeEvent

的调用