以编程方式切换MVC视图控制器 - iOS

问题描述:

所以正如标题所描述的,我的问题是 - 如何以编程方式在iOS中切换视图控制器。以编程方式切换MVC视图控制器 - iOS

所以示例 - 我有一个菜单MVC设置,现在我单击“帮助”如何以编程方式将其交给帮助视图控制器加载该MVC设置?

谢谢!

这是一个基于视图或基于导航的应用程序吗?

对于基于导航的应用程序,你的AppDelegate应该提供您可以访问到共享的UINavigationController,您可以使用推/流行UIViewControllers

[self.navController pushViewController:helpViewController animated:YES] 

那么当用户想要离开的帮助视图并返回到主屏幕,你会弹出它。此功能是通过在UINavigationBar的左/后退按钮自动提供的,但您可以在使用手动popViewcontrollerAnimated选择触发:

[self.navController popViewControllerAnimated:YES] 

对于基于搜索的应用程序,您可以通过操纵子视图屏幕之间移动

[window addSubview:helpViewController.view] 
+2

虽然基于导航的评论是值得的,但您可以打开自己的窝通过使用该方法:[window addSubview:helpViewController.view]'。我不会这么做 - 它已被覆盖[在这里](http://blog.carbonfive.com/2011/03/09/abusing-uiviewcontrollers/)。 – GarlicFries 2011-06-24 13:08:09

使用实用模板应该是最快的解决方案。 您将有两个可以神奇地来回切换的视图。

然而,这些可以通过以下步骤

帮助按钮触摸来实现,只需要调用

[self presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated]; 

应该有后退按钮上HelpViewController

[self dismissModalViewControllerAnimated:(BOOL)animated]; //call to return back to parent view controller 

有一个有趣的^^

+0

如果你想在两个以上的视图间切换,该怎么办?我有一个应用程序,有很多意见,但不是线性的,所以我不认为导航应用程序是适当的。有什么建议么? – gonzobrains 2011-07-06 11:32:10

+0

选项卡栏应用程序是最合适的方式来做你想做的事(用最少的努力)。 – 2011-07-09 15:57:22