2013-07-21 2 views
0

Приложение MyOS построено в портретном формате, и я хочу сохранить его таким образом. Однако есть 1 экран, который я бы хотел видеть в Пейзаже ТОЛЬКО, а не в портрете, но не могу понять, как это сделать.Сделать 1 Пейзажный режим UIViewController

Есть ли что-нибудь, что можно было бы посоветовать?

Высокой оценки

ответ

0

Сначала вы должны настроить все ориентации на Поддерживаемой ориентации интерфейса в Xcode Резюме проекта. Затем в AppDelegate:

- (NSUInteger) application: (UIApplication*) application supportedInterfaceOrientationsForWindow: (UIWindow*) window 
{ 
    NSUInteger orientations = UIInterfaceOrientationMaskAll; 

    if (self.window.rootViewController) 
    { 
     UIViewController* rootViewController = self.window.rootViewController; 
     UIViewController* presented; 

     if ([rootViewController isKindOfClass: [UINavigationController class]]) 
     { 
      presented = [[(UINavigationController*) rootViewController viewControllers] lastObject]; 
     } 
     else 
     { 
      presented = (UIViewController*) rootViewController; 
     } 

     orientations = [presented supportedInterfaceOrientations]; 
    } 

    return orientations; 
} 

Тогда в каждом UIViewController:

- (NSUInteger) supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskPortrait; 
} 

В какой вам нужен другой ориентации, вы должны изменить от UIInterfaceOrientationMaskPortrait к UIInterfaceOrientationMaskLandscapeLeft или другой.

+0

Спасибо - я добавил этот код, но он, похоже, не изменил ситуацию. Я разрешил все ориентации в интерфейсе в резюме, а затем добавил, как вы сказали, но не сработал ... ничего не пропало? – Omar

+0

Я создал образец проекта. Вы можете проверить его https://github.com/SKrotkih/TestRotations – stosha