【发布时间】:2023-02-26 15:13:01
【问题描述】:
我正在研究一项需要几秒钟的功能。所以我想在我的逻辑进行时显示一个ProgressView。
不确定这是否是 SwiftUI 中的错误,但在下面的代码中,当我第二次单击按钮时,进度视图不再显示(第一次单击很好)
struct ContentView: View {
@State var inProgress = false
var body: some View {
List {
if inProgress {
HStack {
Text("Waiting...")
ProgressView()
}
} else {
Button("Click Me") {
inProgress = true
Task {
try? await Task.sleep(nanoseconds: UInt64(2 * 1_000_000_000))
inProgress = false
}
}
}
}
}
}
请注意,此问题仅在List 下发生。如果我将其更改为VStack,则每次单击该按钮时都会显示ProgressView。
【问题讨论】: