SwiftUIでButtonを有効にしたり無効にしたりする


SwiftUIでButtonを有効にしたり無効にしたりする方法です。 Toggleを押すとボタンが有効になったり、無効になったりします。

Enable

ContentView.swift

import SwiftUI

struct ContentView: View {
    @State var enable: Bool = true
    var body: some View {
        VStack {
            Toggle(isOn: $enable) {
                Text("isEnable: \(enable.description)")
            }
            
            Button {
                print("Tapped!!")
            } label: {
                Text("Tap Me!!(\(enable ? "Enable": "Disable"))")
                    .foregroundColor(Color.white)
                    .padding()
                    .background(enable ? Color.orange: Color(UIColor.lightGray))
            }
            .disabled(!enable)
        }.padding()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}