如何在swiftui中使用内部选择器中的切换以及如何基于切换来更改选择器值

时间:2019-06-26 04:56:45

标签: ios swift swiftui swift5 combine

我需要使用选择器并进行切换,并且需要根据切换值来更改选择器的值。

我尝试实现它,但是它在选择器内部显示了切换,但是我不能基于切换来更改选择器的值。

这是我到目前为止尝试过的:

    Picker(selection: $bluetooth.type, label: BluetoothContainer()){
            Toggle(isOn: self.$bluetooth.isBluetoothOn) {
            Text("Bluetooth")
        }

     }

1 个答案:

答案 0 :(得分:0)

这是根据切换状态更新选择器值的工具。

struct ContentView : View {

    @State var selection: String = ""
    @State var isOn = false

    var body: some View {
        VStack {
            NavigationView {
                Form {
                    Section {
                        Toggle(isOn: $isOn) {
                            Text("Bluetooth")
                        }
                        Picker(selection: $selection, label:
                            Text("Picker Name")
                            , content: {
                                Text( isOn ? "Bluetooth is On" : "Bluetooth is Off").tag(0)
                                Text("Value 2").tag(1)
                        })

                    }
                }
            }
        }
    }
}