ABPeoplePickerNavigationController 和 UIImagePickerController 在 ipad iOS7 上显示不正确

ABPeoplePickerNavigationController and UIImagePickerController not displaying correctly on 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 时发生的情况:

这是 iOS8 加载 ABPeoplePickerNavigationController 时发生的情况:

解决这个问题的方法是什么?

我和你有同样的问题,但在浪费了一些时间后我得到了一些post,你的情况可能是什么原因。

iPhone 库在 iOS 模拟器上无法正常工作 采摘 Vedio

Referred Post 我的解决方案。并为我工作。

更新一下,如果您仍然遇到问题,我可以post我的代码来帮助您。

HTH,享受编码吧!

看来我找到了解决问题的方法。

我有一个根视图控制器,它有两个 xib,一个用于 iPad,一个用于 iPhone。看来我的 iPad 造成了麻烦,尽管它们非常相似(只有一个更大)。我不知道为什么。

我现在只使用 iPhone 并确保它在 iPad 上正确调整大小并且一切正常。