Ios UINavigationController中的UIScrollView中的UIViewController想要推送新控制器

Ios UINavigationController中的UIScrollView中的UIViewController想要推送新控制器,ios,uiscrollview,uinavigationcontroller,Ios,Uiscrollview,Uinavigationcontroller,我有一个愚蠢的用户界面问题,现在我们的一个应用程序 我从一个UINavigationController开始,它是我故事板中的初始视图控制器。根视图控制器是将UIScrollView作为子视图的UIViewController。UIScrollView本身已启用分页,并包含多个UIViewController 现在我的问题是:UIScrollView中的UIViewController(我们称之为View#1)应该对按钮事件做出反应,并切换到另一个UIViewController(View#2)

我有一个愚蠢的用户界面问题,现在我们的一个应用程序

我从一个UINavigationController开始,它是我故事板中的初始视图控制器。根视图控制器是将UIScrollView作为子视图的UIViewController。UIScrollView本身已启用分页,并包含多个UIViewController

现在我的问题是:UIScrollView中的UIViewController(我们称之为View#1)应该对按钮事件做出反应,并切换到另一个UIViewController(View#2),该UIViewController需要从以前的UIViewController获取数据,并需要通过委托方法发送回数据

当我尝试获取UINavigationController并在其上按下View#2时,什么都没有发生。当然,通过presentViewController显示它是可行的


你能帮我一点忙吗,告诉我这不管用,什么时候不行,为什么?我在这一点上有点卡住了,我不知道如何继续。

不要将UIViewController放在另一个违反Apple开发指南的UIViewController中(至少在iOs5之前)。。 UIViewController生命周期由内部管理,如果您直接将UIViewController添加为子视图,则可以使用许多方法,例如

viewDidLoad
视图将出现
视图显示
. .

不会被呼叫,根据我的经验,这将导致非常不稳定的行为

尝试使用自定义UIView对象获取每个视图的内部逻辑 同意这在一定程度上打破了MVC模式,但这将是解决您的问题的最佳方式

但iOS 5.0添加了通过添加子视图控制器正确处理这些生命周期事件的视图控制器。因此,如果你只针对iOs 5之后的设备,这可能是一个很好的解决方法


查看和

+1以获得良好的流程图:)谢谢…只是想让场景变得清晰:)