반응형
키보드 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()
}
반응형
'SwiftUI > Controls & Tips' 카테고리의 다른 글
SwiftUI 에서 Background나 Foreground 진입시 처리 (0) | 2024.01.05 |
---|---|
SegmentView (0) | 2023.12.30 |
TextField에 clearButton 추가하기 (0) | 2023.12.13 |
Warning "Non-constant range: argument must be an integer literal" (0) | 2023.12.07 |
Custom Environment (1) | 2023.12.05 |
foregroundColor vs tint (0) | 2023.10.28 |
SwiftUI 아이폰 회전시 Landscape, Portrait 이벤트 (0) | 2023.10.24 |
SwiftUI Color Hex 값으로 생성하기 (0) | 2023.10.08 |