将navigationcontroller和根视图控制器与页面组合在一起

时间:2012-10-16 14:46:04

标签: uinavigationcontroller uipageviewcontroller

我有一个问题已在iOS6上解决,但如果我使用iOS 5.1模拟器仍会出现。

我有一个基于默认页面的应用程序。我添加了一个“主菜单”视图控制器,它有三个按钮,通过推送segue激活包含页面的根视图控制器,所有这些都在故事板中定义。

然后我添加了一个导航控制器并使其成为初始视图控制器。

如果我通过按钮跳过菜单并翻转几页,我可以点击后退按钮然后返回菜单。好。

但是我不想要导航栏,所以我隐藏了它,并且在包含页面视图控制器的根视图控制器上,我添加了一个执行此操作的按钮:

[self.navigationController popToRootViewControllerAnimated:YES];

此按钮在iOS6上运行完美,我可以翻转几页,按下按钮,然后我回到菜单中。

然而,使用iOS 5.1模拟器(以及我的5.1 iPad),会发生页面翻转!这是一个页面填充,直到我在最后一页,然后我回到菜单。

我现在搜索了两个多小时但找不到解决办法,希望有人可以帮我解决这个问题?

注意:将动画设置为NO无法解决问题。

1 个答案:

答案 0 :(得分:0)

我确实找到了我的问题的答案,这是我的第一个iOS项目,它解释了为什么我自己没有找到它。

在基于默认页面的应用程序中,viewDidLoad方法中有两行:

// Add the page view controller's gesture recognizers to the book view controller's view so that the gestures are started more easily
self.view.gestureRecognizers = self.pageViewController.gestureRecognizers;

首先,它并没有真正添加,而是在此处进行分配,其次,当我将第二行放在评论中时,一切都按预期工作。

所以我很高兴它解决了我的问题,但它提出了一些问题:

  1. 手势的开始就像它们一样容易,所以为什么首先需要这条线,它应该修复什么?
  2. 为什么它在iOS6中有效?应该有同样的问题,不是吗?
  3. 这是一项任务而不是一项补充是否正确?
  4. 仍然赞赏对这三者的任何答案。

    亚历