Сталкивание с одной проблемой с запуском приложения в альбомной ориентации для IPad. Я разработал Приложение для iPhone, которое позже я портировал к IPad.
Я установил настройку относительно ориентации в info.plist
[ UISupportedInterfaceOrientations~ipad ] to support all orientation UIInterfaceOrientationPortrait , UIInterfaceOrientationPortraitUpsideDown , UIInterfaceOrientationLandscapeLeft , UIInterfaceOrientationLandscapeRight.
но когда я запускаю приложение для iPad в альбомном режиме, оно всегда запускается в режиме портрета.
Вдоль этого
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{ return YES; }
помогите мне, если я пропускаю что-то с этим..
Спасибо,
Sagar
Сагар - У меня была такая же проблема, но я смог ее решить.
Как и ваше, мое приложение начиналось как приложение для iPhone, которое я «обновил» до универсального приложения с помощью мастера XCode. Я заметил, что при запуске на реальном iPad, начиная с альбомной ориентации, приложение запускалось в портретной ориентации, а затем, возможно, менялось в горизонтальную ориентацию. На симуляторе, начиная с альбомной ориентации, приложение запускалось в альбомной ориентации, а затем симулятор поворачивался в портретную ориентацию.
На iPad мое приложение представляет собой приложение с разделенным экраном с TabBarControllers слева и справа. Каждая вкладка представляет собой контроллер представления, который возвращает YES в shouldAutoRotateToInterfaceOrientation.
Я заметил, что в новом универсальном приложении, созданном с помощью мастера, в простом случае с контроллером splitview, этой проблемы не было.
Разница между моим приложением и простым случаем заключалась в том, что я не добавлял представление своего контроллера splitview в окно приложения в applicationDidFinishLaunchingWithOptions. Вместо этого на этом этапе я показывал представление «загрузка», а позже, когда поток инициализации завершился, я добавлял свой вид контроллера splitview (и скрывал представление «загрузка»).
Когда я добавил представление моего splitviewcontroller в окно приложения во время вызова applicationDidFinishLaunchingWithOptions, все стало работать нормально.
Должно быть какое-то волшебство, которое происходит при возврате из applicationDidFinishLaunchingWithOptions ???
Ваше приложение похоже на мое в том, что оно не добавляет представление главного контроллера представления в окно во время applicationDidFinishLaunchingWithOptions?
Поместите UISupportedInterfaceOrientations в ваш -Info.plist, с параметром для каждой поддерживаемой ориентации. Это используется для определения того, в какой ориентации приложение может запускаться. Далее он будет спрашивать ваши контроллеры представления.