Что делать при нажатии на представление, которое меньше основного? - PullRequest
1 голос
/ 29 января 2020

У меня есть приложение iPhone, которое представляет типичное представление мастера / сведений, начиная с представления таблицы. При нажатии на строку, я пу sh контроллер представления для этой строки (которая загружается из раскадровки). Представления для каждой строки имеют различные размеры, некоторые из которых содержат только несколько элементов управления.

Я считаю, что iOS не выводит sh базовый вид плавно; если входящий вид меньше текущего, фрагмент текущего перемещается неловко только частично влево и остается видимым, прежде чем мигнуть.

Смотрите здесь внизу.

Кстати, эта нижняя панель не панель инструментов. Он явно расположен на главном экране, как и все остальное.

Вот как вызывается входящее представление (tabBoard - раскадровка):

    if let singlePageController = tabBoard.instantiateViewController(withIdentifier: tabName) as? AtomViewController
    {
        navigationController?.pushViewController(singlePageController, animated: true)
    }

Я мог бы сделать излишне большим входящее представление, но это обходной путь, учитывая, что я не знаю разрешение устройства пользователя или будущих устройств. И я никак не могу увидеть, как сделать самый верхний вид автоматически изменяющим размеры в безопасную область. Я установил автоматическое изменение размера, чтобы расширить вид, но без кубиков.

Я также попытался установить рамку вида входящего контроллера представления равной текущей безопасной области. Размер кадра изменяется (на тот, который действительно выглядит в полноэкранном режиме), но переход по-прежнему грязный.

Что дает?

enter image description here

Ответы [ 2 ]

0 голосов
/ 30 января 2020

В конце концов, решение состояло в том, чтобы убедиться, что цвет фона входящего представления не был установлен на «очистить». Установка черных фонов всех видов устраняет проблему.

Это было бы более очевидно, если бы iOS просто оставил базовый вид на месте, чтобы мы могли видеть его через «чистый» вид сверху. Тот факт, что нижележащий вид перемещается вверх и частично за пределы экрана влево ... а затем останавливается и просто мигает ... не кажется предназначенным.

0 голосов
/ 29 января 2020

Пожалуйста, отметьте эти поля в настройках ViewController.

  1. Скрыть нижнюю панель на pu sh
  2. Использовать полный экран

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...