[swift] SwiftUI 뷰의 포커스 변경
SwiftUI는 포커스가 변경되었을 때 사용자에게 시각적으로 알림을 제공하는 기능을 제공합니다. 포커스를 변경하는 예제를 살펴봅시다.
포커스 변경하기
SwiftUI에서 뷰의 포커스를 변경하려면 focusable
및 onFocusChange
수식어를 사용할 수 있습니다.
import SwiftUI
struct ContentView: View {
@State private var isFocused: Bool = false
var body: some View {
Text("Hello, World!")
.focusable(true) { isFocused in
self.isFocused = isFocused
}
.onTapGesture {
if self.isFocused {
// 포커스가 있을 때의 동작
} else {
// 포커스가 없을 때의 동작
}
}
}
}
위 예제에서는 Text
뷰를 탭했을 때 포커스를 변경할 수 있습니다.
포커스 상태에 따른 시각적 효과 표시하기
isFocused
를 이용하여 포커스 상태에 따른 시각적 효과를 적용할 수 있습니다.
Text("Hello, World!")
.focusable(true) { isFocused in
self.isFocused = isFocused
}
.scaleEffect(isFocused ? 1.2 : 1.0)
.onTapGesture {
// 포커스에 따른 동작
}
위 예제에서는 포커스 상태에 따라 텍스트의 크기를 변경하고 있습니다.
포커스를 변경하여 사용자 경험을 향상시키는 것은 SwiftUI에서 간단하게 구현할 수 있습니다.