【问题标题】:Using a UIPageViewController with an embed segue使用带有嵌入 segue 的 UIPageViewController
【发布时间】:2013-07-02 04:03:51
【问题描述】:

我正在开发一个使用 UIPageViewControllers 的客户端项目。

该应用程序具有“集合”视图控制器的层次结构,用户通过导航以到达(在这种情况下)包含内容页面的页面视图控制器。

我的设计是让“集合”视图控制器的层次结构成为 UIViewController 的自定义子类,它们知道如何使用客户端所需的 UI 管理子视图控制器的集合。

显示页面视图控制器的视图控制器是我的父集合视图控制器的子类,并且该父视图控制器类可能管理页面视图控制器、封面流样式视图控制器、表格视图控制器或其他各种.

好的,所以我不能让管理页面视图控制器的视图控制器成为我的父视图控制器和 UIPageViewController 的子类。

这是一个 iOS 6 项目,所以我决定让我的视图控制器包含一个使用嵌入 segue 的页面视图控制器。它可以轻松地处理父/子视图控制器的内务管理,至少我是这么认为的。

但是,客户端想要在视图控制器中进行页面卷曲过渡,并且似乎无法在初始化后更改页面视图控制器的过渡,也无法指定导航方向,脊椎位置等。

嗯。看来我在 22 号陷阱中。

是否有人知道使用嵌入转场将页面视图控制器作为另一个视图控制器的子级嵌入并控制您通过 initWithTransitionStyle:navigationOrientation:options: 获得的设置的方法?

此时我可能需要放弃嵌入 segue 并手动管理父/子视图控制器关系,这是一项相当大量的工作,尤其是当您处理从父级到子级转发自动旋转和其他消息时。

【问题讨论】:

    标签: ios6 embed uistoryboardsegue container-view


    【解决方案1】:

    好的,问题解决了。

    IB 中有 UIPageViewController 的设置,可让您控制过渡样式、导航方向和选项。

    问题是,当我在父视图控制器中创建容器视图时,IB 创建了一个通用 UIViewController 作为子视图,我将它的类型更改为 UICollectionViewController。当我这样做时,设置保留了通用 UIViewController 的设置。

    我必须删除 IB 创建的通用子 UIViewController,将 UIPageViewController 场景拖到情节提要中,然后从集合视图控制拖动到我的新 UIPageViewController 并选择“嵌入”作为我想要的 segue 类型。当我这样做时,它给了我所需的设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多