弹出窗口中的ImagePicker不会隐藏

Raw*_*bil 2 uiimagepickercontroller ipad uipopovercontroller ios

我已经读过iPad必须使用a UIPopoverController来查看PhotoLibrary,但是,我已经编辑了代码来制作它,popover显示但是当我选择一张图片时它并没有隐藏.

我发现它没有到达didFinishpickingMediaWithInfo.我错过了什么吗?这是我的代码

-(IBAction) ButtonClicked{

    ipc = [[UIImagePickerController alloc] init];
    ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    ipc.delegate=self;
    popover = [[UIPopoverController alloc] initWithContentViewController:ipc];
    [ipc release];
    [popover presentPopoverFromRect:CGRectMake(0.0, 0.0, 800.0, 400.0) 
                             inView:self.view
           permittedArrowDirections:UIPopoverArrowDirectionAny 
                           animated:YES];   
}
Run Code Online (Sandbox Code Playgroud)

这里:

-(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker{
    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
    [picker release];
}
Run Code Online (Sandbox Code Playgroud)

和这里:

-(void) imagePickerController:(UIImagePickerController *)picker didFinishpickingMediaWithInfo:(NSDictionary *)info{

 // TempImage is a UIImage instance
    TempImg = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
    //bgImage is a UIImageView instance and it's connected in the IB
    [bgImage setImage:TempImg];
    // Dismiss UIImagePickerController and release it
    [picker dismissModalViewControllerAnimated:YES];
    [picker.view removeFromSuperview];
    [picker release];
}
Run Code Online (Sandbox Code Playgroud)

我真的需要别人的帮助,我已经看过每一个youtube视频,阅读互联网上的每篇文章,几乎尝试了一切.我将衷心感谢您的帮助.

小智 6

第一个问题是该方法didFinishpickingMediaWithInfo拼写错误,因此不会被调用.它应该是didFinishPickingMediaWithInfo(Picking的大写P).

第二个问题是在父母身上调用dismiss或者picker不会隐藏popover.相反,试着打电话[popover dismissPopoverAnimated:YES];.