gpt4 book ai didi

macos - SwiftUI 对悬停事件不是很敏感

转载 作者:行者123 更新时间:2023-12-04 13:00:37 34 4
gpt4 key购买 nike

我正在尝试实现一个包含 200 或 300 个元素的列表,并且我想更改悬停事件上的文本颜色。但是应用程序开始显示悬停事件的延迟。检查下面的示例代码:

struct ContentView: View {
var body: some View {
VStack {
ForEach(0...1000, id:\.self) {index in
Element()
}
}
}
}

struct Element: View {
@State private var hover = false

var body: some View {
Text("Not a fast hover!")
.foregroundColor(hover ? Color.blue : Color.white)
.onHover {_ in self.hover.toggle()}
}
}

enter image description here

更新:

这似乎提高了响应能力。此外,如果我更改背景而不是前景色,则代码的响应速度也会更快。

struct Element: View {
@State private var hover = false

var body: some View {
ZStack {
Text("Not a fast hover!").foregroundColor(Color.blue)
Text("Not a fast hover!").opacity(hover ? 0 : 1).foregroundColor(Color.white)
}
.frame(width: 200)
.onHover {_ in self.hover.toggle()}
}
}

最佳答案

解决方案是使用 List 组件而不是 VStack。

关于macos - SwiftUI 对悬停事件不是很敏感,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58260729/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com