【问题标题】:Change SwiftUI ProgressView Color - macOS not iOS更改 SwiftUI ProgressView 颜色 - macOS 而非 iOS
【发布时间】:2021-03-10 15:58:07
【问题描述】:

我正在尝试使用 SwiftUI / Swift 5.2 在 macOS 上创建一个白色 ProgressView 微调器:

ProgressView()
    .progressViewStyle(CircularProgressViewStyle(tint: Color.white))
    .accentColor(Color.white)

但是这似乎并没有改变颜色。我用谷歌搜索过,但不知道如何更改颜色。

任何帮助将不胜感激。

【问题讨论】:

    标签: swift macos swiftui


    【解决方案1】:

    你需要给它一个value。没有它,它只会显示一个无限微调器,progressViewStyle 对其没有影响。

    struct ContentView: View {
        @State private var percentage = 0.6
        var body: some View {
            ProgressView(value: percentage) /// here!
                .progressViewStyle(CircularProgressViewStyle(tint: Color.red))
        }
    }
    
    Before After

    如果您希望无限微调器为白色,请尝试使用 colorScheme.dark。这会迫使它呈现暗模式外观。

    ProgressView()
        .colorScheme(.dark)
        .background(Color.black) /// for testing purposes
    

    结果:

    【讨论】:

    • 这是一个很好的答案,而且是正确的,但是,我真的只是在寻找一个不确定的进度指示器......我只需要它是白色的......关于我如何做到这一点的任何想法?我只是希望它在我的应用程序处理登录 / api 调用等时出现。其中一些可能需要一两秒钟,我希望人们知道它在做什么。
    • 在这种情况下就可以了。我已经接受了这个答案。
    • 请注意,.colorScheme(...) 已被弃用并替换为.preferredColorScheme(...)
    猜你喜欢
    • 2020-10-19
    • 2020-11-28
    • 2021-11-29
    • 1970-01-01
    • 2019-11-28
    • 2021-09-18
    • 2022-01-01
    • 2020-01-21
    • 2021-12-13
    相关资源
    最近更新 更多