Я искал Stackoverflow и гуглил до тех пор, пока я не покраснел, и до сих пор не могу разобраться с этим ...
У меня есть не слишком сложное приложение: контроллер панели вкладок, содин из корневых контроллеров представления для вкладки, являющийся UINavigationController.Несколько обычных VC, которые я написал, помещаются на этот контроллер навигации обычным способом.Один из этих VC имеет кнопку UIB, которая представляет модальное диалоговое окно , и именно здесь у меня возникают проблемы.
Вот иллюстрация, которая поможет проиллюстрировать:
UITabBarController
\---- Tab1 root VC: UINavigationController
\---- Nav root VC: UIViewController
\---- ...onto which we push: UIViewController
\---- ... on which we present modally: UINavigationController
\---- Nav root VC: UIViewController
Модальное диалоговое окно - это UINavigationController, а для rootViewController у меня есть простой VC, в котором представлен один UIView.Мой VC поддерживает альбомную ротацию (чего не делает остальная часть приложения, поэтому стратегия представляет его как модальный).
Проблема: при повороте и при последующих поворотах поведение автоматического изменения размера делает что-то странное для этого UIView: верхняя часть UIView заканчивается прямо напротив строки состояния,то есть под панель навигации .Левый, правый, нижний края находятся в правильном месте.
Я проверил и дважды проверил - все мои autoresizeMasks выглядят правильно, флаги autoresizesSubviews выглядят правильно, нигде не установлено странных вставок, мой UINavigationControllerНе делаю ничего интересного, например, установив полупрозрачный стиль панели навигации.
Я воссоздаю ситуацию в новом тестовом приложении, но опускаю UITabBarController в верхней части иерархии, и все ведет себя как положено.