Ограничения макета UIKit реагируют на клавиатуруLayoutGuide
Я хочу гарантировать, что, когда клавиатура не видна, ввод привязан к верхней части tabBar. Когда клавиатура видна, я хочу, чтобы она располагалась над tabBar, а ввод должен быть прикреплен к KeyboardLayoutGuide.topAnchor представления.
Желаемое поведение можно увидеть на этих скриншотах:
Вот псевдокод:
func setupConstraints() {
if (keyboard is visible) {
input.view.bottomAnchor.constraint(equalTo: view.keyboardLayoutGuide.topAnchor).isActive = true
} else {
input.view.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
}
}
Как я могу заархивировать такое поведение или обновить ограничения в наблюдателе на клавиатуреWillHideNotification/keyWillShowNotification?