将新的TableView添加到另一个UINavigationController

时间:2012-01-05 21:14:02

标签: objective-c ios uiviewcontroller uinavigationcontroller

我的应用设置如下

enter image description here

使用此设置,当我按下表2中的按钮时,它会在“nav 2”层次结构中推送视图(table3)。

我需要做的是按下表2上的按钮并按下视图(table3),但是在“nav 1”的层次结构中。如果我按下表3中的“后退”按钮,我想转到“表1”,并且无法返回到table2视图。

我需要以编程方式执行此操作。我是iOS开发的初学者,我知道我应该修改使用方法:

[self.navigationController pushViewController:..........];

但问题是,通过这种方式,我将它推向导航控制器“self”,意思是nav2。如何将其推送到nav1?

注意:我需要的布局类似于添加新消息线程时在“消息”应用中找到的布局。

谢谢!

2 个答案:

答案 0 :(得分:2)

如果您要对导航的消息应用进行建模,则需要使用导航控制器来呈现模态视图控制器。

NewViewController *newVC = [[NewViewController alloc] initWithNibName:@"NewViewController" bundle:nil];
UINavigationController *newNav = [[UINavigationController alloc] initWithRootViewController:newVC];
[newVC release];
[self.navigationController presentModalViewController:newNav animated:YES];

答案 1 :(得分:0)

在消息应用中,它们看起来像是以模态视图呈现的。然后,如果按+按钮进入联系人,则会显示另一个包含在NavigationController中的模态视图。如果你使用X-ode 4.2并在故事板中创建一个新的ViewController,那么在编辑器菜单中有一个选项可以将该视图嵌入到NavigationController中。然后只是以模态方式呈现该视图。