InputAccessoryView и нижняя часть безопасной области перекрываются в некоторых моделях iphone - PullRequest
1 голос
/ 10 февраля 2020

Вот изображение некоторых моделей iphone, где панель инструментов перекрывает линию в нижней части iphone (не уверен, что это такое).

Панель инструментов присоединяется к клавиатуре (вспомогательное устройство ввода), и если клавиатура исчезает, панель инструментов будет в нижней части iphone, и текстовое представление будет расширяться или расширяться по желанию клавиатуры. Я не установил никаких ограничений для панели инструментов. Я ожидаю, что панель инструментов будет придерживаться безопасной области. Любая идея, чтобы получить панель инструментов над безопасной областью для всех моделей?

Мне удалось заставить контейнер панели инструментов придерживаться безопасной области, но это выглядит странно - фон панели инструментов имеет серый цвет и фон не двигался вместе.

enter image description here

Вот ограничения, которые у меня есть - я не могу перетащить панель инструментов в безопасную область, только для контейнер панели инструментов (представление стека).

enter image description here

Я попытался сделать это ниже, но там написано, что я сделал это незаконно и попытался сделать это для панели инструментов.

inputAccessoryView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: 0).isActive = true

because they have no common ancestor.  Does the constraint or its anchors reference items in different view hierarchies?  That's illegal.'

Вот инициализация для inputAccessoryView -

override var inputAccessoryView:UIView{
        get {
            return self.toolbar
        }
}

Панель инструментов расположена в раскадровке -

enter image description here

На панели инструментов установлен флажок «Использовать руководство по безопасной зоне»

Проблема в нижней части экрана -

enter image description here

...