我在 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