У меня есть контроллер модального представления (назовем его контроллером всплывающего окна), представленный над моим основным контроллером представления. В какой-то момент мне нужно увидеть контроллер основного представления за всплывающим окном. Поэтому я установил для свойства modalPresentationStyle
значение UIModalPresentationCurrentContext
перед представлением контроллера всплывающего окна.
Итак, что происходит, когда ориентация устройства изменяется, когда контроллер всплывающего окна представлен модально, методы willRotateToInterfaceOrientation:
и didRotateFromInterfaceOrientation:
не вызываются. supportedInterfaceOrientations
вызывается и возвращает хорошее значение. Вращение включено, поддерживаемые ориентации установлены правильно. Всплывающее окно на самом деле работает, если я изменяю «modalPresentationStyle» на значение по умолчанию, все работает нормально, за исключением того, что, очевидно, я не вижу основной контроллер представления позади.
Я должен добавить, что контроллер основного вида поддерживает только портрет, а всплывающее окно над ним поддерживает все ориентации.
На устройстве iOS 5.1 методы willRotate
и didRotate
вызываются корректно. Только на устройстве iOS 6 их нет.
Кто-нибудь сталкивался с подобной проблемой или уже нуждался в модальном отображении прозрачного контроллера представления с несколькими ориентациями над контроллером представления с одной ориентацией?