@State private var isOn1 = false
@State private var isOn2 = false
var body: some View {
ScrollView{
Toggle("switch1",isOn:$isOn1)
Toggle("switch2",isOn:$isOn2)
}
这是我目前所知道的。有没有一种方法可以让我在激活一个切换时添加一个if语句,使所有其他切换都关闭。或者是有无论如何改变状态的切换时,激活一个。任何答案都很感激,谢谢!
3条答案
按热度按时间vfh0ocws1#
这里有一些替代方法,它不需要相互依赖地硬编码所有绑定,而是使用布尔值的共享存储:
wfypjpf42#
您可以将
isOn2
定义为Binding
。您可以通过传入getter的闭包和setter的闭包来创建Binding
。对于isOn2
Binding
,您只需返回isOn1
的求反值,并在其setter中将isOn1
设置为传入setter的求反值。vcirk6k63#
这里有一个更简单的解决方案和更实用的示例。跟踪活动选择,并创建一个绑定来检查和设置活动选择