Использование одной и той же UIInterfaceOrientation для всех UIViewControllers - PullRequest
0 голосов
/ 24 января 2012

Прямо сейчас любой новый UIViewController, добавленный в мою раскадровку, должен иметь класс со следующим кодом:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

Что хорошо поддерживать с помощью копирования / вставки в каждом классе, но действительно ли это необходимо? Разве нет более быстрого пути?

1 Ответ

2 голосов
/ 24 января 2012

Вы можете установить поддерживаемые ориентации интерфейса для всего приложения в файле info.plist, используя ключ Поддерживаемые ориентации интерфейса (вы также можете установить это графически в сводной панели проекта).

Если это не такt (что явно не соответствует вашему комментарию ниже), вы можете добавить свой код в качестве категории на UIViewController, тем самым избавляя вас от необходимости копировать и вставлять его в каждый контроллер.

Если это кажется немногорадикально, вы могли бы вместо этого создать подкласс UIViewController, содержащий этот метод, и использовать его в качестве суперкласса для всех ваших других контроллеров (BaseViewController был бы хорошим именем для него).

...