如何使用 uinavigationcontroller
Posted
技术标签:
【中文标题】如何使用 uinavigationcontroller【英文标题】:How to use uinavigationcontroller 【发布时间】:2013-05-27 21:47:40 【问题描述】:我有 3 个视图控制器,第二个被添加到第一个使用
viewcontroller1.m
:
[self presentModalViewController:vc2 animated:YES];
vc2.view.superview.frame = CGRectMake(50, 740, 695, 245);
现在我想从第二个视图控制器导航到第三个视图控制器,我在 viewcontroller2.m
中使用过:
[self.navigationController pushViewController:vc3 animated:YES];
但是没有用。这就是我想做的:viewcontroller1-->viewcontroller2(导航并将对象传递给viewcontroller3)-->viewcontroller3
【问题讨论】:
你为什么使用 presentModalViewController: ? 我的第二个视图控制器应该是一个模态视图,我将它添加到我的第一个视图控制器中 您想为将在模态视图中显示的视图使用导航控制器吗? 我想关闭模态视图,然后导航到我的第三个视图控制器 【参考方案1】:默认情况下,视图控制器通常不带 UINavigationController。当您呈现模态视图控制器时,您将失去该源的导航控制器。您可以创建一个新的导航控制器,将其与 vc2 关联,并以模态方式呈现该模态视图控制器。类似:
UINavigationController *controller=[[UINavigationController alloc] initWithRootViewController:vc2];
[self presentModalViewController:controller animated:YES];
【讨论】:
当我将 sosond 视图添加到第一个视图时,这应该添加到我的 viewcontroller1.m 中吗?以上是关于如何使用 uinavigationcontroller的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UINavigationController 堆栈中使用 didReceiveMemoryWarning
iOS:如何在现有 UINavigationController 中打开另一个 UINavigationController?
如何使用当前视图信息自定义 UINavigationController 的顶部栏?