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

12

当我尝试使用“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

如何解决这个问题?

2个回答

5

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

我有一个根视图控制器,它有两个xib文件,一个是用于iPad,一个是用于iPhone。尽管它们非常相似(只是其中一个更大),但似乎我的iPad那个导致了麻烦。我搞不明白为什么会这样。

现在我只使用iPhone那个,并确保它在iPad上正确调整大小,一切都正常地工作。


4

我和你有相同的问题,但是浪费了一些时间后,我找到了一些帖子,可能是你的情况的原因。

在选择视频的特殊情况下,iPhone库不适用于iOS模拟器

参考帖子解决了我的问题。对我有用。

如果你仍然面临问题,我可以发布我的代码来帮助你更新。

希望这能帮到你,享受编码!


问题不仅仅出现在模拟器上。 - Daniel Ryan
1
如果你需要的话,我已经写了和你一样的代码,我可以更新答案给你。 - Viral Savaj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接