didRotateFromInterfaceOrientation не вызывается после свайпа

У меня следующая проблема:

У меня есть UITabBarController, который отображает различную информацию на каждой вкладке, например, о. компакт-диск. Пользователь может использовать UIInterfaceOrientationLandscape, чтобы увидеть только обложку. Чтобы перейти к следующему компакт-диску, пользователь может вернуться и выбрать новый компакт-диск, и информация снова отобразится в UITabBarController. (Все это прекрасно работает.) Кроме того, чтобы упростить просмотр большого количества компакт-дисков, можно перейти к следующему компакт-диску жестом смахивания (в альбомной или портретной ориентации). Затем я просто меняю tabBarController.viewControllers и устанавливаю viewControllers, которые отображают информацию о новом компакт-диске. Теперь проблема: после того, как я перешел к следующему компакт-диску, метод didRotateFromInterfaceOrientation больше никогда не вызывается, и я не могу перейти из ландшафтного режима в портретный. Жест смахивания предотвращает вызов метода didRotateFromInterfaceOrientation! У меня такая проблема только с iOS 4.2.1. С iOS 5 все работает отлично!

Кто-нибудь знает, что происходит с iOS 4?


person user1632621    schedule 29.08.2012    source источник


Ответы (1)


Вам нужно вернуть shouldAutorotateToInterfaceOrientation YES во все базовые контроллеры контроллера TABBARView.

Надеюсь, это поможет

person Community    schedule 29.08.2012
comment
Спасибо за ваш ответ, но shouldAutorotateToInterfaceOrientation в каждом классе уже возвращает YES. Я также не думаю, что это могло быть причиной, потому что переход из портретного режима в ландшафтный всегда работает. Это просто не работает после свайпа в iOS 4.2.1. В iOS 5 у меня НЕТ проблем. - person user1632621; 29.08.2012