[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