SwiftUI/Controls & Tips
Keyboard Height 계산해서 Publisher 하기
까칠코더
2023. 12. 13. 22:38
반응형
키보드 show/hide에 따라서 키보드 높이를 사용해야 할때가 있습니다. 이때 Publisher로 처리 하는 방법은 다음과 같습니다.
var keyboardHeightPublisher: AnyPublisher<CGFloat, Never> {
Publishers.Merge(
NotificationCenter.default.publisher(for: UIResponder.keyboardWillShowNotification)
.compactMap { $0.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? CGRect }
.map { $0.height }
NotificationCenter.default.publisher(for: UIResponder.keyboardWillHideNotification)
.map { _ in CGFloat(0) }
).eraseToAnyPublisher()
}
반응형