失去导航控制器如何打开另一个视图
问题描述:
我目前显示的UIViewController这样的:失去导航控制器如何打开另一个视图
AlaramDetail *alaramDetail = [[AlaramDetail alloc] init];
alaramDetail.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:alaramDetail animated:YES];
[alaramDetail release];
一切运作良好,但AlarmDetail打开时我失去了导航控制器。我想从alarmDetail打开另一个视图,我该怎么做。 和我如何返回到我以前的导航控制器,如果我想? Thx
答
您需要声明一个新的导航控制器,添加您的视图控制器,然后呈现模态的导航控制器。
AlaramDetail *alaramDetail = [[AlaramDetail alloc] init];
UINavigationController *newNavigation = [[UINavigationController alloc] initWithRootViewController:alaramDetail];
[alaramDetail release];
newNavigation.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:newNavigation animated:YES];
[newNavigation release];
编辑:
要关闭模式的看法:
-
简单的办法:在一些你打电话解雇法的模态视图只需添加:
[自我。 navigationController dismissModalViewControllerAnimated:YES];
更复杂的方法:在模态视图上实现和委托协议,并使视图控制器将模态视图呈现给它的委托。并在委托方法中取消模态视图。当我需要从模态视图发送数据到呈现它的控制器时,我这样做。
答
如果您正在使用导航控制器,它应该是这样的:
AlaramDetail *alaramDetail = [[AlaramDetail alloc] init];
[self.navigationController pushViewController:alaramDetail animated:YES];
[alaramDetail release];
答
试试这个,
`[self.navigationController presentModalViewController:alaramDetail animated:YES]`;
代替
[self presentModalViewController:alaramDetail animated:YES];
THX Terente约努茨的亚历 – 2011-05-12 10:00:43
嗨,我还有一个问题,我如何返回bac k我以前的导航控制器,如果我想要? – 2011-05-12 10:53:08
你需要关闭modalView。我将编辑我的文章 – 2011-05-12 10:54:08