Использовать NotificationCenter для отслеживания появления (UIKeyboardWillShowNotification) и скрытия (UIKeyboardWillHideNotification) клавиатуры. В обработчиках этих событий можно изменить отступы или сдвинуть содержимое ScrollView или TableView.
Альтернативные подходы:
IQKeyboardManagerSwift. Она автоматически управляет сдвигом контента..ignoresSafeArea(.keyboard, edges: .bottom).Пример кода для ручной обработки через NotificationCenter:
swift
Ключевые свойства из словаря userInfo уведомления:
| Ключ | Тип | Описание |
|---|---|---|
UIResponder.keyboardFrameBeginUserInfoKey | CGRect | Начальная рамка клавиатуры в координатах экрана. |
UIResponder.keyboardFrameEndUserInfoKey | CGRect | Конечная рамка клавиатуры в координатах экрана. |
UIResponder.keyboardAnimationDurationUserInfoKey | Double | Длительность анимации появления/скрытия клавиатуры. |
UIResponder.keyboardAnimationCurveUserInfoKey | UInt (RAW UIView.AnimationCurve) | Кривая анимации. |