「SwiftUI」.disabled()を使ってボタンの有効・無効(ざっくり)
SwiftUIでボタンの有効化・無効化の方法を調べたのでざっくりとメモしておきます。
以下コード全文
import SwiftUI struct Sample: View { @State var text: String = "before" @State var canTap: Bool = false var body: some View { VStack { Button(action: { self.text = "after" }) { Text("クリック") }.disabled(canTap) // 引数がtrueだとボタンを無効化する Text(text) Toggle(isOn: $canTap) { Text("ボタンを無効化する") } } } } struct Sample_Previews: PreviewProvider { static var previews: some View { Sample() } }
プレビュー↓
仕組みは単純で、ボタンを無効化するをONにするとToggle()が発動してcanTapの値をtrueにするので「クリック」をタップすることができなくなります。
.disabledの引数にtrueが渡されるとボタンを無効化します。
.disabled(!canTap)
上記のように.disabledの引数の前に「!」をつけると、falseが渡されると無効化するという意味になります。