iOS, как остановить вращение просмотра - PullRequest
0 голосов
/ 14 марта 2011

Я хочу, чтобы приложение iPad останавливало вращение при повороте iPad.Я хочу прекратить вращать каждый вид.

Любые идеи помогают?

Ответы [ 7 ]

10 голосов
/ 14 марта 2011

если вы хотите остановить вращение для всего приложения, то просто в файле app info.plist изменили Поддерживаемые ориентации интерфейса , Исходная ориентация интерфейса свойство портретной или альбомной ориентации зависит от вас

5 голосов
/ 07 марта 2013

В iOS6 shouldAutorotateToInterfaceOrientation устарело.Замените вместо supportedInterfaceOrientations и preferredInterfaceOrientationForPresentation.

См.

5 голосов
/ 14 марта 2011

Просто проверьте свойство автоматического изменения размера вашего контроллера представления.

(исправлена ​​синтаксическая ошибка)

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if(interfaceOrientation == UIInterfaceOrientationPortrait)
        return YES;

    return NO;
}
1 голос
/ 21 сентября 2015

В моем проекте info.plist я удалил какой-то ключ на iPad Supported interface orientations, как показано на следующем рисунке (я только поддержал портретную ориентацию)

enter image description here

0 голосов
/ 12 августа 2014

Пожалуйста, обновите ваш projectname.plist следующим образом. Поддерживаемые ориентации интерфейса имеют только один объект «Портрет (нижняя домашняя кнопка)»

0 голосов
/ 12 августа 2014

Основная идея глобальной управляемой блокировки поворота - написать категорию UIViewController, содержащую механизм блокировки для каждого контроллера представления.

Вам просто нужно изменить supportedInterfaceOrientations метод глобально

- (NSUInteger)supportedInterfaceOrientations
{
    return __orientation;
}

Здесь __orientation - статическая переменная, которую можно установить методом категории.

Полная реализация категории представлена ​​ здесь

0 голосов
/ 14 марта 2011

Я настоятельно рекомендую не останавливать ротацию на iPad, потому что на iPad обязательна поддержка ротации. Это связано с тем, что iPad не имеет нормального способа его удержания в отличие от iPhone, который обычно удерживается в портретном режиме (AKA Vertical). Таким образом, вы должны оставить выбор пользователю, чтобы в конечном итоге заблокировать ориентацию

HIG фактически утверждает это не как требование, а как рекомендацию, но есть много приложений, которые были отклонены этой проблемой.

Кстати, если вы хотите это для ограничения количества представлений контроллера, вы должны реализовать:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

    if(interfaceOrientation == UIInterfaceOrientationPortrait){
        return YES;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...