У меня контроллер UINavigation в качестве первого контроллера представления UITabBarController (который имеет панель вкладок).
Панель вкладок показана для первого / корневого VC, но скрыта на следующих представленных дочерних контроллерах представления.
Проблемы: при всплывающем окне UINavigationController изменяет размер неправильно
- Кадр UINavigationController находится прямо над панелью вкладок , но его кадр UIViewControllerWrapperView не
- Или кадр UINavigationController попадает под панель вкладок, а его WrapperView заканчивается прямо над ним (что правильно), но все же отличается от другой точки.
На рисункепредставление оболочки выделено, и можно видеть, что фрейм UINavigationController заканчивается прямо над панелью вкладок, а оболочка - нет, в результате чего мой ViewController отображается под панелью вкладок. WrapperViewDifferentSizeThanItsParent-TheUINavigationController
Связано, но не полезно:
Примечания:
- Панель вкладок не полупрозрачная
- Добавление анимации не работает
Нашел одно уродливое решение, написав здесь в надежде на лучшее:
- Создайте собственный контроллер панели вкладок, чтобы его дочерний ViewController всегда отображался поверх панели вкладок
- UIViewControllerAnimatedTransitioning изменяет размер оболочки на кадр контроллера навигации