相关疑难解决方法(0)

如果鼠标移动太快,SwiftUI onHover 不会注册鼠标离开元素

我在 SwiftUI 中制作了一些自定义滑块视图,它们根据悬停状态改变外观,但是如果鼠标移出太快(这实际上是移动光标的非常合理的速度),它会保持悬停状态,直到您重新-悬停并缓慢地重新离开组件。

有解决方案吗?悬停代码非常标准:

struct RulerSlider: View {
  @State var hovering = false

  var body: some View {
    GeometryReader { geometry in
      ZStack {
        // Ruler lines
        if hovering {
          Ruler()
        }
      }
      .onHover { hover in
        withAnimation(.easeOut(duration: 0.1)) {
          self.hovering = hover
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这是问题的样子:

在此处输入图片说明

重现bug的示例代码:https : //gist.github.com/rdev/ea0c53448e12835b29faa11fec8e0388

macos swift swiftui

8
推荐指数
1
解决办法
335
查看次数

标签 统计

macos ×1

swift ×1

swiftui ×1