どうも、ちょげ(@chogetarou)です。
セグメントのPickerの選択されている項目の背景色を変える方法を紹介します。
方法

SegementedPickerの選択中の項目の背景色を変えるには、UISegmentedControlを使います。
具体的には、initメソッドやonAppear修飾子などで、「UISegmentedControl.appearance().selectedSegmentTintColor」に背景色を代入します。
//選択中の項目の背景色を代入
UISegmentedControl.appearance().selectedSegmentTintColor = color
UISegmentedControlを使うことで、セグメントのPickerの選択している項目の背景色を変えることができます。
使用例

struct ContentView: View {
@State private var selectedIndex = 0
init() {
UISegmentedControl.appearance().selectedSegmentTintColor = .blue.withAlphaComponent(0.5)
}
var body: some View {
VStack {
Picker(selection: $selectedIndex, label: Text("Select").foregroundColor(.red)) {
ForEach(0..<5) {
Text("Item \($0)")
}
}
.pickerStyle(SegmentedPickerStyle())
}
}
}
コメント