在 SwiftUI 中更改段控制器色调颜色

Change Segment Controller Tint Color in SwiftUI

我在我的应用程序中使用了分段选择器。我想将未选中的文本颜色更改为白色。我搜索了解决方案,但没有找到适合我的解决方案。 这是我的代码:

struct QuestionView: View {

@State private var selectedIndex = 0
    
    init() {
        
        UISegmentedControl.appearance().backgroundColor = UIColor(named: ColorName.appBlue.rawValue)
        UISegmentedControl.appearance().setTitleTextAttributes([.foregroundColor: UIColor(named: ColorName.appBlue.rawValue)!], for: .selected)
        UISegmentedControl.appearance().setTitleTextAttributes([.foregroundColor: UIColor.green], for: .normal)
        UISegmentedControl.appearance().setTitleTextAttributes([
            .font : UIFont.preferredFont(forTextStyle: .headline)
        ], for: .normal)
    }

var body: some View {

 VStack(alignment: .leading) {
            
            NavBar(navTitle: "Questionnaire")
            
            HStack {
                
                Text("Is this a live claim?")
                    .font(.custom(InterFont.bold.rawValue, size: 24))
                
                Spacer()
                
                Picker("What is your favorite color?", selection: $selectedIndex) {
                    Text("Yes").tag(1)
                         
                    Text("No").tag(0)
                    
                }
                .pickerStyle(.segmented)
                .frame(width: 130)
                .cornerRadius(40)
                
            }.padding()
            Spacer()
        }
    }
}

从这段代码,我得到这个:

选中的色调颜色发生变化,未选中的色调不变。 unselected 我想要白色。这是我需要的:

由于字体 属性,同样的事情发生在我身上。请尝试删除最后一条用于设置 Segmentation Controller 字体的语句。

init() {
        
        UISegmentedControl.appearance().backgroundColor = UIColor(named: ColorName.appBlue.rawValue)
        UISegmentedControl.appearance().setTitleTextAttributes([.foregroundColor: UIColor(named: ColorName.appBlue.rawValue)!], for: .selected)
        UISegmentedControl.appearance().setTitleTextAttributes([.foregroundColor: UIColor.green], for: .normal)

    }