当我尝试使用“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 时会出现以下情况:
如何解决这个问题?