Как преобразовать панель навигации и контроллер навигации в ландшафтный режим - PullRequest
5 голосов
/ 02 марта 2009

Я занимаюсь разработкой игры, в которой я использую ландшафтный режим, у меня всего 4 вида 2 вида правильно приходят в ландшафтном режиме. Но в третьем представлении у меня есть UITable и панель навигации. Я могу вращать таблицу в альбомной ориентации, но не могу трансформировать панель навигации и контроллер навигации. Панель навигации и контроллер навигации также имеют кнопку на нем. Это также не преобразуется. Так может кто-нибудь иметь решение по этому вопросу. :)

Ответы [ 3 ]

7 голосов
/ 30 ноября 2011
#define degreesToRadians(x) (M_PI * x / 180.0)

- (void)viewWillAppear:(BOOL)animated
{

    [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];

    CGRect newBounds = CGRectMake(0, 0, 480, 320);
    self.navigationController.view.bounds = newBounds;
    self.navigationController.view.center = CGPointMake(newBounds.size.height / 2.0, newBounds.size.width / 2.0);

    self.navigationController.view.transform = CGAffineTransformMakeRotation(degreesToRadians(90));

    [super viewWillAppear:animated];
}

- (void)viewWillDisappear:(BOOL)animated
{
    self.navigationController.view.transform = CGAffineTransformIdentity;
    self.navigationController.view.transform = CGAffineTransformMakeRotation(degreesToRadians(0));
    self.navigationController.view.bounds = CGRectMake(0.0, 0.0, 320.0, 480.0);

    [super viewWillDisappear:animated];
}
2 голосов
/ 02 марта 2009

Измените навигационную панель контроллера навигации, повернув ее на 90 градусов. Также вам может потребоваться установить центр панели навигации и рамку для установки правильной ширины, чтобы она соответствовала ландшафтному режиму ... это сработало для меня :) надеюсь, вам это тоже поможет.

1 голос
/ 02 марта 2009

В документации документации UIViewController:

Обработка вращения

свойство interfaceOrientation
- shouldAutorotateToInterfaceOrientation:
- вращение нижнего колонтитула
- вращающийся заголовок
- willRotateToInterfaceOrientation: длительность:
- willAnimateFirstHalfOfRotationToInterfaceOrientation: duration:
- willAnimateSecondHalfOfRotationFromInterfaceOrientation: длительность:
- didRotateFromInterfaceOrientation:

надеюсь, это вам тоже поможет.

A.

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