Я долго искал ответ на этот вопрос, но не нашел ничего подходящего.
В моем приложении у меня довольно сложная иерархия контроллеров представлений с экземпляром ECSlidingViewController в корне. На iPad существуют большие различия между ландшафтным и портретным режимами (например, контроллер, который обычно является корневым контроллером представления моего основного навигационного контроллера, в то время как в портретном режиме он становится контейнером для нового навигационного контроллера, который содержит все остальные контроллеры), поэтому убедитесь, что контроллеры представления правильно уведомлены о поворотах, крайне важно для работы приложения.
Моя проблема связана с модально представленным контроллером представления, потому что, когда пользователь поворачивает устройство, когда такой контроллер виден, мой ECSlidingViewController (ни его контроллер верхнего представления) не вызывает методы didRotateFrom(..) и willRotateTo(..).
Итак, как мне заставить другие контроллеры представления получать уведомления о вращении? (не говоря о прямом вызове didRotateFrom(..) и willRotateTo(..) для них, так как это не изменит их кадры).
UIApplicationWillChangeStatusBarOrientationNotification
и самостоятельно реализовывать методы, связанные с вращением (конечно, в родительском контроллере представления, а не напрямую из контроллера модального представления). - person ismailgulek   schedule 01.04.2014