Я хочу создать приложение, которое не использует портретный режим.
Я не уверен, нужно ли мне редактировать plist или иметь код в дополнение к plist
Я хочу создать приложение, которое не использует портретный режим.
Я не уверен, нужно ли мне редактировать plist или иметь код в дополнение к plist
Запуск в альбомном режиме
Приложения в iPhone OS обычно запуск в портретном режиме в соответствии с ориентация главного экрана. если ты иметь приложение, которое выполняется в обоих портрет и пейзаж, ваш приложение всегда должно запускаться в портретный режим, а затем его контроллеры обзора вращают интерфейс по мере необходимости на основе устройств. Если ваш приложение работает в ландшафтном режиме только, однако, вы должны выполнить следующие шаги, чтобы ландшафтной ориентации.
В вашем файле Info.plist приложения добавьте
UIInterfaceOrientation
и установите его значение для ландшафтный режим. Для пейзажа ориентации, вы можете установить значение этого ключа дляUIInterfaceOrientationLandscapeLeft
илиUIInterfaceOrientationLandscapeRight.Разместите свои представления в ландшафтном режиме и убедитесь, что их заданы параметры авторазмера правильно.
Переопределите контроллеры просмотра
shouldAutorotateToInterfaceOrientation:метод и возврат YES только для
желаемая ориентация ландшафта и NO
для портретных ориентаций.
Чтобы сделать режим ландшафта вашего приложения только, вы должны использовать "Ориентация поддерживаемого интерфейса".
(Targets -> YourApp -> Supported Interface Orientations -> Landscape Left & Right)

Вы также должны установить ориентацию приложения в своем приложении Info.plist file (
), добавив ключ Supported interface orientations со значениями Landscape (left home button) и Landscape (right home button). 
Вы можете использовать willRotateToInterfaceOrientation и/или didRotateFromInterfaceOrientation для обработки изменений ориентации.
shouldAutorotateToInterfaceOrientation устарел от iOS 6 и вышел.
Возврат UIDeviceOrientationLandscapeLeft/Right для shouldAutorotateToInterfaceOrientation должен сделать ваше приложение "ландшафтом":
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
Также можно изменить ваше приложение Info.plist и View Orientation (как описано выше).
Кроме того, я рекомендую изменить ориентацию вида на Landscape в Инспекторе атрибутов. 
Вы также можете просто сократить все это до
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
отредактируйте plist только для поддержки ландшафта, затем убедитесь, что в каждом uiviewcontroller/uitabbar и т.д. в shouldAutoRotateToInterfaceOrientation, return говорит return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight));.