当模态视图完成关闭时,有没有办法调用代码?
EDIT:
抱歉,我没早说清楚。我试图关闭 UIImagePickerController,然后显示 MFMailComposeViewController 并将图像数据附加到电子邮件。当我尝试打电话时
[self presentModalViewController: mailController]
就在之后
[self dismissModalViewController];
我收到错误等。
您可以使用模态视图的委托模式来通知呈现它的人何时完成。
MyModalViewController.h:
@protocol MyModalViewControllerDelegate;
@interface MyModalViewController : UIViewController
{
id<MyModalViewControllerDelegate> delegate;
}
@property (nonatomic, assign) id<MyModalViewControllerDelegate> delegate;
@end
@protocol MyModalViewControllerDelegate
- (void)myModalViewControllerFinished:(MyModalViewController*)myModalViewController;
@end
MyModalViewController.m:
@synthesize delegate;
// Call this method when the modal view is finished
- (void)dismissSelf
{
[delegate myModalViewControllerFinished:self];
}
父视图控制器.h:
#import "MyModalViewController.h"
@interface ParentViewController : UIViewController <MyModalViewControllerDelegate>
{
}
ParentViewController.m:
- (void)presentMyModalViewController
{
MyModalViewController* myModalViewController = [[MyModalViewController alloc] initWithNibName:@"MyModalView" bundle:nil];
myModalViewController.delegate = self;
[self presentModalViewController:myModalViewController animated:YES];
[myModalViewController release];
}
- (void)myModalViewControllerFinished:(MyModalViewController*)myModalViewController
{
[self dismissModalViewControllerAnimated:YES];
}
EDIT:
我没用过UIImagePickerController
,但是查看文档,看起来您已经为您完成了大部分代码,因为有一个现有的UIImagePickerControllerDelegate具有三个不同的“解雇”委托回调的类(尽管其中一个已被弃用)。所以你应该让你的ParentViewController
类(无论是什么)实现UIImagePickerControllerDelegate
模式,然后实现这些方法。虽然每种方法都会做不同的事情(因为您必须处理用户何时实际选择图像,或者他们取消),但它们最后都会做相同的事情:dismissModalViewControllerAnimated:
关闭选择器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)