Iphone-在imagePickerController中禁用ModalViewController
假设我有一个实现UIImagePickerControllerDelegate的控制器类a 在中,我实现了如下委托:Iphone-在imagePickerController中禁用ModalViewController,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,假设我有一个实现UIImagePickerControllerDelegate的控制器类a 在中,我实现了如下委托: -(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo { [self dismissModalViewControllerAnimated:Y
-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
[self dismissModalViewControllerAnimated:YES];
}
谁会在这里被解雇?imagePickerController还是一个?请解释为什么…在
UIViewController
上调用presentModalViewController:animated:
将以模态方式显示视图控制器。类似地,解除模态视图控制器的激活:
解除模态视图控制器的激活。在这种情况下,它将关闭图像选择器控制器(假设图像选择器控制器是作为其委托的对象的模态视图,这很可能是这种情况)。UIImagePickerController将关闭。下面是
父视图控制器为
负责解除合同
使用
presentModalViewController:动画:
方法。如果在
但是,模态视图控制器本身,
模态视图控制器
自动将邮件转发到
它的父视图控制器
你试试看,这对我有用
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
[picker dismissModalViewControllerAnimated:YES];
}
cheeers..如果显示模态视图的对象与代理不相同,您将如何取消模态视图?然后你能用“[picker DismissModalViewController激活]”代替[self DismissModalViewController激活]?不完全正确<代码>[picker dismissModalViewControllerAnimated:表示您告诉
UIImagePickerController
关闭其模式视图控制器。您要做的是[[picker parentViewController]dismissModalViewControllerAnimated:
。是的,但是根据下面的答案,结果是相同的。当然,除非模态视图打开了另一个模态视图,在这种情况下,我想只有最内在的一个视图会关闭,这不是我想要的。所以我想专门调用父视图控制器是更好的选择。哦,我明白了,我不知道视图控制器会将消息转发给它的父视图控制器。但是,这会使代码更难阅读,并可能无意中导致您忽略错误的视图控制器,因此您最好直接在父视图控制器上调用它。