Init UIViewController в зависимости от ориентации iPad - PullRequest
0 голосов
/ 20 ноября 2011

Я пытаюсь инициализировать свой UIViewController в зависимости от ориентации iPad. В initWithNibName я использую следующий код:

CGSize size = self.view.frame.size;
authForm = [[[AuthForm alloc] initWithFrame:CGRectMake(-400,(size.height-400)/2,400,400)] autorelease];
[self.view addSubview:authForm];

Это то, что я хочу, когда приложение запускается в портретном режиме (вверх ногами или нет), но я хочу иметь это, когда оно запускается в ландшафтном режиме (влево или вправо):

authForm = [[[AuthForm alloc] initWithFrame:CGRectMake((size.width-400)/2,-400,400,400)] autorelease];

Как я мог это сделать? Я уже попробовал несколько вещей с willAutorotateToInterfaceOrientation:, но это не сработало.

1 Ответ

0 голосов
/ 21 ноября 2011

Ладно, я явно не зашел достаточно далеко в сообщениях на эту тему.Я наконец нашел это:

if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeLeft || [[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeRight) {
   authForm = [[[AuthForm alloc] initWithFrame:CGRectMake((size.width-400)/2,-400,400,400)] autorelease];
} else {
   authForm = [[[AuthForm alloc] initWithFrame:CGRectMake(-400,(size.height-400)/2,400,400)] autorelease];
}

В любом случае, спасибо

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