ABPeoplePickerNavigationController и UIImagePickerController не отображаются правильно на ipad iOS7
Когда я пытаюсь использовать "ABPeoplePickerNavigationController" или "UIImagePickerController", в большинстве случаев он не будет загружаться правильно. Он отобразит часть экрана (прозрачную), начиная с середины экрана в iOS 7 (ipad) для симулятора и устройства (снимок экрана ниже). В iOS 8 все работает правильно.
Это код, который я использую для ABPeoplePickerNavigationController:
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
self.preserveCurrentEntity = YES;
[self presentViewController:picker animated:NO completion:nil];
UIImagePickerController будет разбиваться только на выбор видео, но работать на все остальное, это код, который я использую:
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
switch (buttonIndex) {
case ImagePickerModeCamera:
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
break;
case ImagePickerModeAlbum:
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
break;
default:
break;
}
imagePicker.delegate = self;
NSMutableArray *mediaType = [[NSMutableArray alloc] init];
switch (self.actionSheetType) {
case ActionSheetTypeImage:
[mediaType addObject:(NSString*)kUTTypeImage];
break;
case ActionSheetTypeVideo: {
[mediaType addObject:(NSString*)kUTTypeMovie];
[mediaType addObject:(NSString*)kUTTypeVideo];
imagePicker.allowsEditing =NO;
}
break;
default:
break;
}
imagePicker.mediaTypes = mediaType;
[self presentViewController:imagePicker animated:NO completion:nil];
Это то, что происходит в iOS7 при загрузке ABPeoplePickerNavigationController:
![iOS 7]()
Это то, что происходит в iOS8 при загрузке ABPeoplePickerNavigationController:
![iOS8]()
Какое решение можно исправить?
Ответы
Ответ 1
Похоже, я нашел решение своей проблемы.
У меня есть контроллер корневого представления, у которого есть два xibs, один для iPad и один для iPhone. Кажется, мой iPad был причиной проблемы, хотя они были очень похожи (только один был больше). Я не мог понять, почему.
Я просто использую iPhone один сейчас и убедитесь, что он правильно изменяет IPad, и все работает правильно.
Ответ 2
У меня такая же проблема, как и вы, но после того, как я потратил немного времени на получение какой-либо должности, это может быть причиной вашего дела.
Библиотека iPhone не работает на iOS Simulator в специальном случае выбора Vedio
Отправленный пост для моего решения. и работал на меня.
Обновите его, если вы все еще сталкиваетесь с проблемой, я могу опубликовать свой код, чтобы помочь вам.
HTH, наслаждайтесь кодированием!