2 Star 22 Fork 10

小弟调调/swiftui-example

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
README.md 1.19 KB
一键复制 编辑 原始数据 按行查看 历史

如何使用 ProgressView 显示任务的进度?

SwiftUI 的 ProgressView 可以绑定到 Double 以显示水平进度条。 例如,这将创建一个标题为 Downloading 的进度条,其显示为 downloadAmount,以确定进度条应有多满:

struct ContentView: View {
    @State private var downloadAmount = 0.0

    var body: some View {
        VStack {
            ProgressView("Downloading…", value: downloadAmount, total: 100)
        }
    }
}

实际上,您需要某种方式来实际更改该值,例如计时器,网络请求或其他用户界面。 例如,这将在几秒钟内填满进度栏:

struct ContentView: View {
    @State private var downloadAmount = 0.0
    let timer = Timer.publish(every: 0.1, on: .main, in: .common).autoconnect()

    var body: some View {
        VStack {
            ProgressView("Downloading…", value: downloadAmount, total: 100)
        }
        .onReceive(timer) { _ in
            if downloadAmount < 100 {
                downloadAmount += 2
            }
        }
    }
}

注意:如果您将进度值设置为高于进度总计,则 Xcode 会很生气–确保如上所示限制其上限。

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Swift
1
https://gitee.com/jaywcjlove/swiftui-example.git
git@gitee.com:jaywcjlove/swiftui-example.git
jaywcjlove
swiftui-example
swiftui-example
main

搜索帮助