2010-08-13 36 views
0

可以说我有一个控制器类A实现UIImagePickerControllerDelegate。Iphone - DismissModalViewControllerAnimated imagePickerController内

内的

,我实现这样的委托:

-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo 
{ 
    [self dismissModalViewControllerAnimated:YES]; 
} 

谁将获得辞退​​? imagePickerController还是A?请解释为什么...

回答

0

调用presentModalViewController:animated:上的UIViewController将以模态方式显示视图控制器。通过类推,dismissModalViewControllerAnimated:解除了模态视图控制器。在这种情况下,它会关闭图像选取器控制器(假设图像选取器控制器是其委托对象的模态视图,很可能是这种情况)。

+0

你会怎么驳回的情况下,物体的显示模式的看法和委托是不一样的一个模式视图?你可以用“[picker dismissModalViewControllerAnimated]” 而不是[self dismissModalViewControllerAnimated]来代替 ? – Idan 2010-08-13 09:52:48

+0

不完全。 '[picker dismissModalViewControllerAnimated:]'表示你告诉'UIImagePickerController'关闭ITS模式视图控制器。你要做的是[[picker parentViewController] dismissModalViewControllerAnimated:]'。 – 2010-08-13 21:11:10

+0

是的,但根据下面的答案,结果是一样的。 当然,除非模态视图打开了另一个模态视图,在这种情况下,我猜只有最内层的视图才会被关闭,这不是我想要的。 所以我想专门调用父母是更好的选择。 – Idan 2010-08-14 07:35:31

0

的的UIImagePickerController将得到dismissed.Here是the documentation

父视图控制器是 负责贬提出使用 presentModalViewController模态 视图控制器:动画: 方法。如果您在 模态视图控制器本身上调用此方法,但是, 模态视图控制器 会自动将消息转发给其父视图控制器的 。

0

尝试,这是为我工作

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

[picker dismissModalViewControllerAnimated:YES]; 
} 

cheeers ..

相关问题