[swift] SwiftUI 뷰의 이벤트 디스패치
SwiftUI는 사용자 인터랙션에 대한 이벤트를 처리하는 기능을 제공합니다. 이벤트 디스패치는 사용자가 화면을 터치하거나 다른 입력을 할 때 발생하는데, SwiftUI를 사용하여 이러한 이벤트를 처리하는 방법에 대해 알아보겠습니다.
이벤트 디스패치란?
이벤트 디스패치는 사용자의 입력(터치, 제스처, 키보드 입력 등)을 감지하고 해당 이벤트에 대한 응답을 생성하는 프로세스를 말합니다. SwiftUI에서는 onTapGesture
, onLongPressGesture
, onAppear
, onChange
등의 다양한 수식어(modifier)를 사용하여 이벤트에 응답하는 방법을 제공합니다.
예시
import SwiftUI
struct ContentView: View {
@State private var isTapped = false
var body: some View {
Text("Tap me!")
.onTapGesture {
self.isTapped.toggle()
}
.foregroundColor(isTapped ? .red : .black)
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
위 예시에서 onTapGesture
수식어는 해당 뷰가 탭될 때마다 isTapped
상태를 토글하고 글자색을 변경하는 동작을 표시합니다.
결론
SwiftUI를 사용하면 뷰의 다양한 입력 이벤트에 쉽게 대응할 수 있습니다. 이를테면 사용자의 상호작용에 응답하는데 매우 유용합니다. SwiftUI의 수식어를 사용하여 이벤트 디스패치를 통해 뷰를 동적으로 조작하고 사용자 경험을 향상시킬 수 있습니다.
SwiftUI 이벤트 디스패치 - Apple Developer Documentation