SwiftUI가 버전업 되면서 여러 기능이 추가되는 가운데 여전히 지원하지 않는 기능은 Responder에 관한 제어 권한이다.
별도의 변수를 생성해 이를 이용해 제어하는 경우가 많은데, 그런 거창한 거 필요 없이 해제를 하고자 하는 경우가 있다.
#if canImport(UIKit)
extension View {
func hideKeyboard() {
UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
}
}
#endif
간단하게 UIKit에 정의된 Responder 메서드를 불러와 파라미터를 전부 비워주면 responder가 해제된다.
위와 같이 별도의 함수로 선언을 하면 이벤트 발생 시 간단하게 사용할 수 있다.
최근에 키보드를 숨기는 데 사용하기 위해 찾아봤다.
'학습 노트 > Swift UI Trick' 카테고리의 다른 글
이미지의 평균 색상을 추출하기 (0) | 2023.04.07 |
---|---|
SwiftUI에서 Blur를 사용하는 4가지 방법 (0) | 2022.12.28 |
TextField 입력값 제한하기 (0) | 2022.10.01 |