Безопасная зона увеличивается после скрытия панели вкладок, но не уменьшается, если я снова показываю панель вкладок

у меня есть контроллеры представления в контроллере панели вкладок с ограничениями на нижнюю безопасную область, но один из них я должен скрыть панель вкладок, я использую этот self.tabBarController?.tabBar.isHidden = true, это увеличивает безопасную область

Но если мне нужно перейти к другому, я показываю заднюю панель вкладок self.tabBarController?.tabBar.isHidden = false Но безопасная область не уменьшается сама по себе, позволяя просматривать содержимое за панелью вкладок

Чтобы было ясно, я прикрепил красный вид к нижней безопасной области, затем я перехожу к просмотру и скрытию панели вкладок введите здесь описание изображения

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


person Abraham Rangel    schedule 07.03.2018    source источник
comment
вы используете safeAreaInsets? Это просто значения вставки, лучше всего использовать safeAreaLayoutGuide. Используйте якоря   -  person user1046037    schedule 08.03.2018
comment
Если вы хотите скрыть панель вкладок при нажатии другого контроллера представления на контроллер навигации (например, показ сведений о конкретном элементе), вы можете установить nextVC.hidesBottomBarWhenPushed = true перед нажатием VC, и задание будет выполнено автоматически, не нарушая безопасную область. конфигурация.   -  person Rodrigo Guimarães    schedule 29.08.2018


Ответы (1)


Похоже, это ошибка в iOS. SafeArea не меняется на учетную запись tabBar после ее скрытия/показывания.

Вы можете обойти это, привязав свое представление к суперпредставлению и настроив tabBar вручную. Например, если вы хотите привязать tableView к tabBar, это будет выглядеть так:

    if let tabBar = tabBarController?.tabBar {
        tabBar.isHidden = true
        tableViewBottomConstraint.constant = tabBar.frame.height
    }
person Senõr Ganso    schedule 15.05.2018
comment
Это решение, вероятно, не будет работать идеально на iPhone X. - person Rodrigo Guimarães; 29.08.2018