Я хочу создать приложение, которое не использует портретный режим.
Я не уверен, нужно ли мне редактировать 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));
.