2014-12-16 3 views
0

Я хочу создать iPad-камеру, перед этим я создаю приложение для iPhone-камеры с портретной ориентацией.ориентация интерфейса камеры ipad

Когда я выбираю фотографию из альбома (альбом устройства), IPad приложение выдает ошибку:

Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and [PUUIAlbumListViewController shouldAutorotate] is returning YES'

Вот мой код, чтобы выбрать фотографию из альбома:

UIImagePickerController *pickerController = [[UIImagePickerController alloc] init]; 
pickerController.delegate = self; 
pickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
pickerController.mediaTypes = @[(NSString *) kUTTypeImage]; 
pickerController.allowsEditing = NO; 
[self presentViewController:pickerController animated:YES completion:nil]; 

Что я должен добавить, чтобы сделать его доступным с iPad с альбомной ориентацией?

+0

Вы хотите использовать только портретную ориентацию? какую ориентацию вы хотите поддержать в своем приложении. – Idali

+0

моя версия версии для iphone, как пользовательский интерфейс с пропускной способностью, который в порядке. моя версия ipad отображается как пользовательский интерфейс ландшафта, который ранее имел проблему при попытке получить фотографию из альбома устройства, для которого требуется ориентация постороннего. – user1858725

ответ

1

Я нашел решение, корпус закрыт. я добавить в моем appdelegate.m:

-(NSUInteger)application:(UIApplication *)application 
    supportedInterfaceOrientationsForWindow:(UIWindow *)window 
{ 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
     return UIInterfaceOrientationMaskAll; 
    else /* iphone */ 
     return UIInterfaceOrientationMaskAllButUpsideDown; 
} 
+0

Хорошо! Но учтите, что вы могли бы сделать то же самое, как я сказал, - отредактировав _Info.plist_. Он имеет одну группу настроек для iPad и одну группу настроек для iPhone. Таким образом, вы могли бы сделать это без кода вообще, просто проверив правильные флажки в целевом редакторе, как показано на моем снимке экрана. Однако нет ничего плохого в том, как вы это делали. – matt

+0

если я отредактировал info.plist, все ориентации устройств, мое приложение ipad станет неуправляемым, потому что я создаю свое приложение с ландшафтом. Пользовательский интерфейс UI.so покажет, когда xib и раскадровка вызывается пользователем. но в некоторых случаях, например, получить фото из альбома устройства, которому нужна ориентация по поручению, мое приложение ipad покажет его как ориентацию по поручению. поэтому мне не нужно было менять ориентацию устройства на каждом контроллере. – user1858725

+0

Если вы не слушаете, вы не узнаете. Это будет работать точно так же. Попробуй. – matt

0

Its работаю нормально, но когда мы запускаем приложение он показывает портрет по левой стороне .. Так что, пожалуйста, как мы можем ограничить все портретное событие. - (NSUInteger) применение: (UIApplication *) применение supportedInterfaceOrientationsForWindow: (UIWindow ) окно {если (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) возвращение UIInterfaceOrientationMaskAll, остальное/ iphone */returnUIInterfaceOrientationMaskAllButUpsideDown; }

Смежные вопросы