[swift] SwiftUI 뷰의 활성화/비활성화

SwiftUI는 사용자에게 상호 작용 가능한 뷰를 제공하기 위해 자체적으로 활성화/비활성화 상태를 관리합니다. SwiftUI에서는 isEnabled 프로퍼티를 사용하여 뷰의 활성화 상태를 조절할 수 있습니다.

isEnabled 프로퍼티

isEnabled 프로퍼티는 true인 경우 뷰가 활성화되고, 사용자의 상호 작용을 받을 수 있습니다. 반면에 false인 경우 뷰가 비활성화되고, 사용자의 상호 작용을 받지 않습니다.

Button("확인", action: {
    // 버튼 클릭 시 수행할 작업
})
    .disabled(!isEnabled) // isEnabled에 따라 버튼의 활성화 상태가 변경됨

위 예제는 Button 뷰를 생성하고, isEnabled 프로퍼티에 따라 버튼의 활성화/비활성화 상태를 변경하는 방법을 보여줍니다.

@State@Binding 활용

@State@Binding 프로퍼티 래퍼를 사용하여 변수의 값을 변경할 때, 해당 변수에 따라 뷰의 활성화 상태를 조절할 수 있습니다.

@State private var isSwitchOn = false

Toggle("옵션", isOn: $isSwitchOn)
    .disabled(!isEnabled) // isEnabled에 따라 토글의 활성화 상태가 변경됨

위 예제는 Toggle 뷰를 생성하고, isEnabled 프로퍼티에 따라 토글의 활성화/비활성화 상태를 변경하는 방법을 보여줍니다.

결론

SwiftUI에서는 isEnabled 프로퍼티를 통해 뷰의 활성화/비활성화 상태를 쉽게 조절할 수 있습니다. 또한 @State@Binding 프로퍼티 래퍼를 사용하여 변수의 값을 변경할 때, 해당 변수에 따라 뷰의 활성화 상태를 조절하는 것이 가능합니다. 이는 사용자 경험을 고려하여 상호 작용 가능한 뷰를 제공하는 데 유용합니다.

참조: SwiftUI Documentation