I want to change the label color of SwiftUI Picker
from blue to black, tried .foregroundColor(.black)
and .tint(.black)
, but the color remains blue.
@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)
}
2
Answers
I tried
foregroundStyle
andaccentColor
and onlyaccentColor
worked. It does have a future deprecation warning, but you should be able to use it for now.As the other user has mentioned,
.accentColor(.orange)
works, but has a depreciation warning.Using
.tint(.orange)
does not have this warning and will color the picker text.