切换导航控制器中的视图

时间:2011-08-05 10:43:32

标签: iphone uinavigationcontroller

嗨,我是iphone编程的新手...我的要求是从我的应用程序的菜单页面转到第二个视图点击按钮,这是一个表视图然后从那里到其他视图...让我们说一个屏幕显示图像,从这个屏幕我想回到主菜单..

所以可以使用UINavigationController来实现...据我所知...导航控件允许使用堆栈进行切换....所以你只能回到之前的屏幕

请帮帮我!!!

或者我应该在没有使用导航控制器的情况下这样做...做所有的事情保持视图控制器作为交换机管理器,然后管理所有屏幕.. ????????

3 个答案:

答案 0 :(得分:1)

我真的不明白你想要什么,但这里有一些想法。

如果您只想添加屏幕(无堆叠),请使用addSubview:

如果你想要一个可以解雇的叠加女巫,请使用presentModalViewController:animated:

想要使用堆栈和按钮直接转到根目录,请使用

[navigationController popToRootViewControllerAnimated:NO];
[navigationController pushViewController:controller animated:YES];

答案 1 :(得分:1)

是的,你想使用UINavigationController来管理views / viewcontrollers。

推送新的viewcontroller使用:

[navigationController pushViewController:controller animated:YES];

回弹到第一个viewcontroller使用:

[navigationController popToRootViewControllerAnimated:NO];

回弹到特定的viewcontroller使用:

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];

答案 2 :(得分:0)

如果您想使用导航控制器,那么您可以在app-delegate文件中声明导航控制器的变量 在app deleagte.h中

  

UINavigationController * navigationController;   @property(非原子,保留)IBOutlet UINavigationController * navigationController;

并在appdelegate.m文件中

  

@synthesize navigationController;    - (void)applicationDidFinishLaunching:(UIApplication *)application {
      //在应用程序启动后覆盖自定义点       [window addSubview:[navigationController view]];       [window makeKeyAndVisible];   }

当你调用下一个视图时,然后在表格视图的按钮或单元格的操作上使用此代码

  

[self.navigationController pushViewController:self.secondView animated:YES];

推送视图的上方行。