UIImagePickerController在iPad中崩溃

spe*_*spe 10 iphone objective-c gallery uiimagepickercontroller ipad

-(IBAction)selectPressed:(id)sender
{
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentModalViewController:picker animated:YES];
    [picker release];
}
Run Code Online (Sandbox Code Playgroud)

我正在iPad和iPhone模拟器上测试这段代码.在iPhone模拟器中(以及在真正的iPhone上)也没问题 - 画廊出现了.但是在iPad模拟器上(我没有设备),它崩溃了.有什么想法吗?

Max*_*Max 14

请阅读设备日志中的异常消息:

On iPad, UIImagePickerController must be presented via UIPopoverController

  • 文档http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html声明"在iPad上,您可以**使用弹出框提供用户界面"(遵循使用模态视图控制器的标准方式).因此,根据文档,错误消息只是"UIKit"中的错误. (3认同)

lif*_*joy 7

马克斯说:

在iPad上,必须通过UIPopoverController呈现UIImagePickerController

现在看来,当我们的sourceType设置为UIImagePickerControllerSourceTypeCamera时,我们可以将ModalViewController呈现给UIImagePickerController.这必须是以全屏视图支持iPad 2的相机.Max是正确的,当sourceType设置为其他任何东西时,presentModalViewController在iPad上崩溃.