Убрать возможность портретной ориентации для приложения в iPhone SDK - PullRequest
4 голосов
/ 05 июля 2010

Есть ли способ, при котором я могу разрешить отображение моего приложения только в ландшафтном режиме? Мне удалось по умолчанию установить ориентацию приложения на альбомную, однако в симуляторе iPad, когда я нажимаю Command-> Arrow, приложение поворачивается в портретную ориентацию. Я удалил списки в списке в разделе «Поддерживаемые ориентации интерфейса» для обеих записей Портрета, однако это, похоже, ничего не изменило.

Есть идеи?

Ответы [ 5 ]

11 голосов
/ 05 июля 2010

В вашем контроллере представления есть метод делегата для этого:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || 
            (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
3 голосов
/ 05 июля 2010

Выполните поиск проекта для "autorotate" и отредактируйте методы, которые вы найдете соответствующим образом.

1 голос
/ 04 декабря 2011

На самом деле это

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || 
    (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
1 голос
/ 05 июля 2010

Полагаю, вам нужно сказать, что указанная ориентация не поддерживается

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/UIViewController/shouldAutorotateToInterfaceOrientation:

0 голосов
/ 05 сентября 2014

Вещи изменились с некоторыми обновлениями.В настоящее время вам просто нужно добавить следующий метод:

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}

, который будет разрешать только ландшафт.Поверните телефон на свое усмотрение, и он останется только в левом или правом пейзаже.Веселитесь:)

...