Objective c 切换视图控制器

Objective c 切换视图控制器,objective-c,ios,uiviewcontroller,Objective C,Ios,Uiviewcontroller,我试图搜索这个网站和整个互联网,但我还没有找到一种方法,可以让我在多个视图控制器之间切换,同时在它们之间共享数据。 我尝试使用以下代码(第一个方法调用另一个方法,然后切换视图): 这是一个很好的动画,但不会切换视图控制器 请帮忙 编辑: 另外,在第一个视图控制器中放置另一个视图以及如何切换视图也会很有帮助。在代码中,您切换的是视图,而不是视图控制器。这意味着,从视图控制器内部消息(例如:视图加载/卸载、视图显示/消失、自动旋转)的角度来看,没有任何变化,原始“当前”视图控制器仍将位于顶部。 现在

我试图搜索这个网站和整个互联网,但我还没有找到一种方法,可以让我在多个视图控制器之间切换,同时在它们之间共享数据。 我尝试使用以下代码(第一个方法调用另一个方法,然后切换视图):

这是一个很好的动画,但不会切换视图控制器

请帮忙

编辑:
另外,在第一个视图控制器中放置另一个视图以及如何切换视图也会很有帮助。

在代码中,您切换的是视图,而不是视图控制器。这意味着,从视图控制器内部消息(例如:视图加载/卸载、视图显示/消失、自动旋转)的角度来看,没有任何变化,原始“当前”视图控制器仍将位于顶部。 现在在iOS中,这通常使用容器视图控制器进行管理,容器视图控制器“管理”一组子视图控制器,并负责内部消息传递和转换。最常见的情况是UINavigationController和uitabarcontroller,在iPad上还可以看到UISplitViewController和pageviewcontroller

通过iOS5,苹果提供了一种方法,使用所谓的“视图控制器包含”通知容器视图控制器(这是一个普通视图控制器)其包含的VCs的更改。有一段视频取自WWDC 2011,发布在iTunes上(仅供注册开发者观看)。
基本上,此方法添加了一些方法,允许将其包含的VCs结构中的更改通知容器视图控制器。我不会在这里输入太多细节,并邀请您观看WWDC视频并阅读或下载。我认为后者正是您想要的。

在您的代码中,您实际上是在切换视图,而不是视图控制器。这意味着,从视图控制器内部消息(例如:视图加载/卸载、视图显示/消失、自动旋转)的角度来看,没有任何变化,原始“当前”视图控制器仍将位于顶部。 现在在iOS中,这通常使用容器视图控制器进行管理,容器视图控制器“管理”一组子视图控制器,并负责内部消息传递和转换。最常见的情况是UINavigationController和uitabarcontroller,在iPad上还可以看到UISplitViewController和pageviewcontroller

通过iOS5,苹果提供了一种方法,使用所谓的“视图控制器包含”通知容器视图控制器(这是一个普通视图控制器)其包含的VCs的更改。有一段视频取自WWDC 2011,发布在iTunes上(仅供注册开发者观看)。
基本上,此方法添加了一些方法,允许将其包含的VCs结构中的更改通知容器视图控制器。我不会在这里输入太多细节,并邀请您观看WWDC视频并阅读或下载。我认为后者正是您想要的。

您应该使用UINavigationController在UIViewController之间切换

[[self navigationController] pushViewController:firstViewController animated:YES];
将UIView放入UIViewController中

[[self view] addSubview:view1];
我会使用UIView.hidden来切换视图

view1.hidden = YES;
view2.hidden = NO;

您应该使用UINavigationController在UIViewController之间切换

[[self navigationController] pushViewController:firstViewController animated:YES];
将UIView放入UIViewController中

[[self view] addSubview:view1];
我会使用UIView.hidden来切换视图

view1.hidden = YES;
view2.hidden = NO;

正如另一张海报所说,您不应该像现在这样交换或混合视图控制器的内容视图。如果您想这样做,您需要在iOS 5中使用新的父子视图控制器支持

如果您确实在iOS 5中使用了新的父视图控制器支持,那么有一种非常酷、非常强大的方法,称为transitionFromViewController:toViewController:duration:options:animations:completion:它为您完成了大部分繁重的工作。它很容易使用


(我没有在父/子视图控制器上观看WWDC视频,但这将是一个很好的开始。我刚刚开始使用新方法。)

正如另一张海报所说,您不应该像现在这样交换或混合视图控制器的内容视图。如果您想这样做,您需要在iOS 5中使用新的父子视图控制器支持

如果您确实在iOS 5中使用了新的父视图控制器支持,那么有一种非常酷、非常强大的方法,称为transitionFromViewController:toViewController:duration:options:animations:completion:它为您完成了大部分繁重的工作。它很容易使用


(我没有在父/子视图控制器上观看WWDC视频,但这将是一个很好的开始。我刚刚开始使用新方法。)

我可以在界面生成器中看到它吗?我可以在界面生成器中看到它吗?视频名为“实现UIViewController包容”,课程102,2011年6月15日。您可以通过iTunes商店访问它。该视频名为“实现UIViewController包容”,会话102,2011年6月15日。您可以通过iTunes商店访问它。