Когда я пытаюсь использовать "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:
Это то, что происходит в iOS8 при загрузке ABPeoplePickerNavigationController:
Какое решение можно исправить?