jjzjj

ios - ABPeoplePickerNavigationController 和 UIImagePickerController 在 iPad iOS7 上无法正确显示

coder 2023-07-28 原文

当我尝试使用“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 时发生的情况:

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

最佳答案

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

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

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

关于ios - ABPeoplePickerNavigationController 和 UIImagePickerController 在 iPad iOS7 上无法正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29595805/

有关ios - ABPeoplePickerNavigationController 和 UIImagePickerController 在 iPad iOS7 上无法正确显示的更多相关文章

随机推荐