Скрыть панель навигации при вращении - PullRequest
6 голосов
/ 12 января 2009

У меня есть UIView с панелью навигации. Как скрыть панель навигации, когда пользователь переводит iPhone в альбомную ориентацию, и снова отображать его в книжной ориентации?

Ответы [ 3 ]

9 голосов
/ 27 февраля 2010
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
    [[self navigationController] setNavigationBarHidden:UIInterfaceOrientationIsLandscape(toInterfaceOrientation) animated:YES];
    [[UIApplication sharedApplication] setStatusBarHidden:UIInterfaceOrientationIsLandscape(toInterfaceOrientation) animated:YES];
}
7 голосов
/ 12 января 2009

Это очень легко найти в документации. В документах UINavigationController, чтобы скрыть панель навигации, вы используете:

- (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated

Если вы хотите сделать это во время вращения устройства, вы должны сделать это в вашем методе контроллера представления (упомянутом в документации UIViewController):

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
0 голосов
/ 14 января 2009

Лучший способ IMHO - использовать CGAffineTransform и оставить панель навигации там, где она есть - как в виде галереи iPhone. См. Превосходное введение Джеффа Ламарша Демистификация CGAffineTransform . Мне немного помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...