アプリ作成を進める中で2つToggleスイッチを使用する場面がありました。
どちらか片方が選択されている場合、もう片方は非活性にしたかったのですが、
調べても参考になる記事が出てこなかったのでメモとして残しておきます。
初学者の方に参考になればと思います。
実装方法
とてもシンプルで、buttonと同じくdisabledモディファイアを使用して実現できました。

ソースコード
SwiftUI
import SwiftUI
struct ContentView: View {
// トグルスイッチフラグ
// デフォルトはoffにしたいためfalse
@State private var toggleFlg1 = false
@State private var toggleFlg2 = false
var body: some View {
HStack(spacing: 15) {
Text("スイッチ1")
.lineLimit(1)
Text(toggleFlg1 ? "ON" : "OFF")
.font(.custom("Times-Roman", size: 15))
Toggle("", isOn: $toggleFlg1)
.disabled(toggleFlg2)
.labelsHidden()
Text("スイッチ2")
.lineLimit(1)
.font(.body)
Text(toggleFlg2 ? "ON" : "OFF")
.font(.custom("Times-Roman", size: 15))
Toggle("", isOn: $toggleFlg2)
.disabled(toggleFlg1)
.labelsHidden()
.font(.body)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}