UIImagePickerController的didFinishPickingMediaWithInfo方法没有被调用。

3

我在使用UIImagePickerController时遇到了问题。虽然选择器正常显示,但UIImagePickerController的didFinishPickingMediaWithInfo方法拒绝被调用(我已经尝试通过NSLog进行调试,但它就是不被调用)。以下是我的代码(我在头文件中定义了imgPicker作为一个UIImagePickerController):

-(IBAction)grabImage {
    self.imgPicker = [[UIImagePickerController alloc] init];
    self.imgPicker.allowsImageEditing = YES;
    self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    [self presentModalViewController:self.imgPicker animated:YES];
}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    imgview.image = [info objectForKey:UIImagePickerControllerEditedImage];
    [[picker parentViewController] dismissModalViewControllerAnimated:YES];
}

有人知道为什么它没有被调用吗?

1个回答

11

你是否设置了UIImagePickerController的代理属性?如果没有,请按照以下方式进行设置。

myImagePickerController.delegate = self;

还需要与UIImagePickerControllerDelegate协议进行确认。


谢谢,那个方法起作用了!不过我遇到了一个错误(似乎没有影响程序):“myClass”类没有实现“UINavigationControllerDelegate”协议。 我猜这可能和没有实现“UIImagePickerControllerDelegate”协议有关,但我不知道该如何去做。PS:请原谅我的新手状态 :p - Simon M
它确实有回复,但我仍在等待上面评论的答复... - Simon M
2
<UINavigationControllerDelegate, UIImagePickerControllerDelegate> - Steve Riggins
这个委托什么时候会被调用?是在你拍照的同时就会被调用,还是在预览屏幕中选择使用照片后才会被调用? - nOOb iOS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接