[SwiftUI] 버튼 활성 / 비활성 처리하기

반응형

     스위프트 UI 버튼 비 활성화 

    스위프트 UI 에서 버튼을 비 활성화는 disabled(_:) modifier를 사용해 변경할 수 있습니다. boolean 값을 가지며 true 일 경우 disabled 상태가 되며 반대인 false 일 때는 enabled 상태가 됩니다. (false 값이 기본값)

     

    비 활성일 경우 버튼의 색상이 Gray 색으로 변경됩니다.


    var body: some View {
      VStack {
        Button("비 활성 버튼") {
          
        }
        .disabled(true)
        
        Button("활성 버튼") {
          
        }
        .disabled(false)
      }
      .font(.title)
    }


     

     

     

     

     

     

    비 활성 버튼과 활성 버튼


     

     

     

     

     

     활용 예제 

    다음 예제에서는 두 개의 컨트롤이 있습니다. TextField 에 값이 비어 있다면 그 값을 참조하는 name을 바인딩 한 버튼이 비활성 됩니다. 반대로 텍스트의 입력이 시작되면 버튼이 활성화됩니다.


    @State var name: String = ""
    
    var body: some View {
      VStack {
        TextField("이름을 입력하세요.", text: $name)
          .textFieldStyle(.roundedBorder)
          .padding()
        
        Button("저장") {
          print("저장 완료")
        }
        .disabled(name.isEmpty)
      }
    }


     

     

     

     

     

    버튼 비활성


     

     

     

     

     

    버튼 활성


     

    반응형

    댓글

    Designed by JB FACTORY