为dismissModalViewControllerAnimated设置一个委托
Posted
技术标签:
【中文标题】为dismissModalViewControllerAnimated设置一个委托【英文标题】:set a delegate for dismissModalViewControllerAnimated 【发布时间】:2013-02-13 02:06:16 【问题描述】:我的应用中有一个 UIImagePickerController,它使用 didFinishPickingMediaWithInfo 委托来监控用户是否选择了图像。
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
if ([mediaType isEqualToString:(NSString *)kUTTypeImage])
UIImage *image = [info
objectForKey:UIImagePickerControllerOriginalImage];
[picker dismissModalViewControllerAnimated:YES];
当调用 [picker dismissModalViewControllerAnimated:YES] 时,它会关闭当前的 UIImagePickerController 视图并返回到 UIImagePicker 显示之前的视图。我想设置一个委托以在调用 dismissModalVewControllerAnimated 时将所选图像发送回上一个视图。我怎么做?非常感谢!
【问题讨论】:
【参考方案1】:应在创建选取器时设置委托。您要返回创建选择器的控制器吗?如果是这样,它应该在那时将自己设置为委托人。您应该使用dismissViewControllerAnimated:completion: 而不是贬值的dismissModalViewController。
【讨论】:
谢谢。是的,它会回到创建选择器的那个。我是 xcode 的新手,不知道如何使用它设置委托。你能给我一些指导吗? @user1829700,设置代理很容易,但在您掌握它之前,整个过程可能会有些混乱。基本上,您需要在选择器中添加一个协议和一个委托属性。将成为委托的控制器只需要在创建选择器时执行诸如 picker.delegate = self 之类的操作。我建议您阅读 Apple 文档中的“使用协议”指南。以上是关于为dismissModalViewControllerAnimated设置一个委托的主要内容,如果未能解决你的问题,请参考以下文章
不能连续调用dismissModalViewController吗?