如何从目标c中的视图控制器视图返回到app委托控制器视图?

时间:2011-12-13 12:17:18

标签: objective-c view addsubview

我在app delegate class的按钮点击中添加了一个视图。像这样:

在UnifeyeMobile_templateAppDelegate.mm中:

- (IBAction)onBtnImageTracking:(id)sender {

// create our UnifeyeMobileViewController and present it
UnifeyeMobileImageTrackingViewController* unifeyeMobileViewController = [[UnifeyeMobileImageTrackingViewController alloc] initWithNibName:@"UnifeyeMobileImageTrackingViewController" bundle:nil];
unifeyeMobileViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[viewController presentModalViewController:unifeyeMobileViewController animated:YES];
[unifeyeMobileViewController release];
}

我想从添加UnifeyeMobileImageTrackingViewController的视图返回到主app appate类视图。我按了一个按钮。但我不知道该怎么做?请帮帮我。

2 个答案:

答案 0 :(得分:0)

在模型viewcontollers代码中,只需调用

即可
[self dismissModalViewControllerAnimated:YES];

来自用户的交互,您希望用它来关闭模态视图(例如按钮触摸事件)。

答案 1 :(得分:0)

这可以通过两种方式完成,具体取决于您是否要添加一些特殊行为来隐藏模态视图:

简单(在模态视图内)

[self dismissModalViewControllerAnimated:YES];

如果要添加一些自定义效果来隐藏模态视图,请让UnifeyeMobileImageTrackingViewController对主视图进行某种引用。这可以通过使主视图实现一些看起来像这样的委托协议来实现:

@protocol ModalViewDelegate <NSObject>

- (void) hideModal:(UIViewController*) modalViewController;

这样,您可以在显示之前在UnifeyeMobileImageTrackingViewController上设置modalViewDelegate:

unifeyeMobileViewController.delegate = self;

让主视图中hideModal的实现以您喜欢的方式隐藏模态视图。

希望这会有所帮助:)