当我尝试使用“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];
这是在加载ABPeoplePickerNavigationController时在iOS7中发生的事情:
这是在加载ABPeoplePickerNavigationController时在iOS8中发生的事情:
解决此问题的解决方案是什么?
答案 0 :(得分:5)
看起来我找到了问题的解决方案。
我有一个根视图控制器,有两个xib,一个用于iPad,另一个用于iPhone。看起来我的iPad之所以引起麻烦,即使它们非常相似(只有一个更大)。我无法弄清楚为什么。
我现在只使用iPhone,并确保它在iPad上正确调整大小,一切正常。
答案 1 :(得分:4)
我遇到了和你一样的问题,但是在浪费了一些时间后我得到了一些帖子,这可能是你案件的原因。
在选择Vedio
的特殊情况下,iPhone库无法在iOS模拟器上运行 我的解决方案Referred Post 。并为我工作。
更新,如果您仍然遇到问题,我可以发布我的代码来帮助您。
HTH,享受编码!!