【发布时间】:2020-07-13 01:05:44
【问题描述】:
我正在尝试获取一个我正在开发的小型测试应用程序,以在向下滑动菜单栏图标时弹出一个带有 swiftUI 视图的迷你窗口。与其单击弹出窗口的按钮,不如用两根手指向下滑动,就像用户拉下图标以显示窗口一样。 我对 swift 还有些陌生,但到目前为止,我在 AppDelegate 中有以下内容。
if let button = statusBar.button{
let iconImage = NSImage(named: NSImage.Name(("iconPic")))
button.image = iconImage
button.action = #selector(self.handleOpenPlayerDescriptionWindow(_:))
button.sendAction(on: .swipe)
// button.sendAction(on: .leftMouseDown)
}
@objc func handleOpenPlayerDescriptionWindow(_ sender: NSMenuItem){
//code to show swiftUI Window
...
}
弹出窗口只是一个带有 NBA 球员比赛统计数据的占位符文本视图。我在上面的代码中用 'leftMouseDown' 注释掉了 sendAction,因为它工作得很好,但是当我将它更改为 'swipe ' 作为 sendAction,它什么也不做。我也尝试过 'beginGesture'、'endGesture' 和 'gesture' 但都没有成功,最接近的成功是 ' leftMouseDragged' 但并不是我真正想要的。
如果这可能是问题的话,我使用的是 SwiftUI 而不是故事板
【问题讨论】:
标签: swift macos swiftui swift5 swipe-gesture