2013-11-26 4 views
0

Я пытаюсь представить UIImagepickerController, чтобы открыть галерею изображений. Он отлично работает на iPhone, но в приложении iPad упал со следующей ошибкой «Поддерживаемые ориентации не имеют общей ориентации с приложением, а shouldAutorotate возвращается ДА ' "UIImagePickerController не представлен в выпуске iPad

PS: Мое приложение будет поддерживать портрет только в iPhone. И ландшафтная ориентация в iPad. Любое предложение решить эту проблему ?.

ответ

0

«На iPad, UIImagePickerController должен быть представлен через UIPopoverController» Для iPad вы должны представить его в UIPopoverController вместо использования прямого присутствия. Это должно решить проблему.

Добавить сильное свойство для UIPopoverController

@property (nonatomic, strong) UIPopoverController *popOver; 

поповер должен быть уволен в методах делегата:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 

Чем писать ниже код в файле .m.

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { 
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker]; 
[popover presentPopoverFromRect:self.selectedImageView.bounds inView:self.selectedImageView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
self.popOver = popover; 
} else { 
[self presentModalViewController:picker animated:YES]; 
} 
+0

благодарит вас за ответ @Rahul Patel Позвольте мне проверить – krishh

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