выборочное разрешение автоповорота в приложении TabBar / UINavigation - PullRequest
1 голос
/ 24 мая 2010

У меня есть приложение UITabBar / UINavigation, и у меня возникают проблемы с разрешением автоматического поворота в данном представлении.

TabBar позволяет изменять разделы с элементами табличного представления. При нажатии на один из элементов я открываю новый вид, который скрывает TabBar и который должен автоматически поворачиваться. Я попробовал простой способ, который показался мне наиболее логичным: отключить автоматическое вращение в rootViewController и разрешить в detailViewController, но это не сработало (shouldAutorotateToInterfaceOrientation возвращает YES, но тогда willRotateToInterfaceOrientation никогда не вызывается и view не выполняет автоматическое вращение). Я прочитал, что все VC в TabBar должны возвращать YES для shouldAutorotateToInterfaceOrientation, поэтому я сделал это, но в результате все мое приложение вращается.

Затем я вложил в свой UINavigationController субкласс и установил для параметра shouldAutorotate значение НЕТ, надеясь, что смог обнаружить, когда отображаемое представление фактически являлось подробным представлением, а затем вернуть ДА ... Кажется, я не могу этого сделать.

Есть какая-нибудь помощь?

Спасибо!

Antonio

1 Ответ

1 голос
/ 24 мая 2010

Звучит так, как будто у вас есть настройки, такие как приложение iPod, которое имеет панель вкладок для просмотра списка воспроизведения, просмотра песен и т. Д., Но исчезает, когда вы переходите к подробному просмотру песни. Подробное представление может вращаться, но представления панели вкладок - нет. Когда вы поворачиваете панель вкладок, она превращается в подробный вид потока обложки.

Я уверен, что они делают это, помещая панель вкладок в контроллер навигации. Когда вы переходите к подробному виду, он полностью открывает панель вкладок и выдвигает подробный вид.

Таким образом, фактическая иерархия выглядит примерно так:

Nav {
    tabbar {
        playlist
        Artist
        //... other tabs
    }
    detail view portrait
    detail view cover flow
}

Одновременно выдвигается только один из родственных видов (панель вкладок, подробный портрет, подробный поток обложек).

Приложение iPod делает это, потому что подробное представление является основным функциональным представлением для всего приложения, поэтому остальная часть приложения построена на переходе к нему. Если это не относится к вашему приложению, то при такой настройке может возникнуть больше проблем, чем оно того стоит.

...