【SwiftUI】Toggle 스위치를 비활성화하는 방법

5203 단어 iOSSwiftSwiftUI
앱 작성을 진행하는 중 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()
    }
}

좋은 웹페이지 즐겨찾기