是否有修改器可以更改 SwiftUI Picker 的标签颜色?

Faw*_*fai 11 ios swift swiftui

我想将标签颜色SwiftUI Picker从蓝色更改为黑色,尝试.foregroundColor(.black).tint(.black),但颜色仍然是蓝色。

@State var privacy = Privacy.open
enum Privacy: String, CaseIterable, Identifiable {
    case open = "Open"
    case closed = "Closed"
    var id: String {
        self.rawValue
    }
}
    
var body: some View {
    Picker("privacy", selection: $privacy) {
        ForEach(Privacy.allCases) { value in
            Text(value.rawValue)
                .tag(value)
        }
    }
    .pickerStyle(.menu)
    .tint(.black)
    .foregroundColor(.black)
}
Run Code Online (Sandbox Code Playgroud)

Emi*_*aez 24

我尝试过foregroundStyle并且accentColoraccentColor起作用了。它确实有一个未来弃用警告,但您现在应该可以使用它。

.accentColor(.orange)
Run Code Online (Sandbox Code Playgroud)


小智 9

正如其他用户所提到的,.accentColor(.orange)可以工作,但有折旧警告。

使用.tint(.orange)不会有此警告,并且会给选择器文本着色。