SwiftUI 选择器项目 .foregroundColor() 不起作用

Joe*_*tto 5 xcode swift swiftui

我试图在选择器中设置文本的颜色,但它实际上并没有改变任何东西。以下是我的代码:

Picker("Theme Color", selection: $themeColor) {
    ForEach(0..<themeColors.count) { _ in
        Text("Color").foregroundColor(.blue)
    }
}.pickerStyle(SegmentedPickerStyle())
Run Code Online (Sandbox Code Playgroud)

这在 SwiftUI 中是不可能的吗?

Asp*_*eri 5

嗯...没有什么直接的,但是你可以使用以下方法...这可以得到一些有趣的效果(也许有人可能是合适的)

使用 Xcode 12 / iOS 14 准备和测试演示

演示1

    Picker("Theme Color", selection: $themeColor) {
         ForEach(0..<4) { _ in
              Text("Color")
         }
    }.pickerStyle(SegmentedPickerStyle())
    .colorMultiply(.white).colorInvert()
Run Code Online (Sandbox Code Playgroud)

乃至

演示2

    Picker("Theme Color", selection: $themeColor) {
         ForEach(0..<4) { _ in
              Text("Color")
         }
    }.pickerStyle(SegmentedPickerStyle())
    .colorMultiply(.white).colorInvert()
    .colorMultiply(.orange).colorInvert()
Run Code Online (Sandbox Code Playgroud)


Mah*_* BM 1

我设法选择了change选择器的前景色,但效果很差,因为所选项目不可读。考虑到我在 iOS 13 上使用分段选择器的不幸经历,以及当时我无法更改选择器大小的事实,我确实认为选择器仍然不可自定义,就像我一样,如果您需要编写自己的选择器,您想要一款更加个性化的产品。