【发布时间】:2015-06-18 04:50:13
【问题描述】:
当我尝试使用“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 时发生的情况:
解决这个问题的方法是什么?
【问题讨论】:
标签: ios objective-c ipad ios7