在containerView swift中更改可见视图控制器

时间:2015-11-06 08:16:53

标签: ios swift view uicontainerview

如何使用页面卷曲动画在两者之间转换,更改containerView中的可见视图控制器(即嵌入segue引用的视图控制器)。

1 个答案:

答案 0 :(得分:0)

两个选项:

<强> UIPageViewController

在containerView中嵌入UIPageViewController(请参阅文档here)。使用UIPageViewControllerTransitionStyle.PageCurl初始化页面视图控制器,并使用setViewControllers:direction:animated:completion:将第一个VC设置为当前嵌入在containerView中的视图控制器。然后使用相同的方法切换到要显示的新VC。

此选项的优点是可以提供开箱即用的基于手势的转换,但UIPageViewController可能会令人困惑,因此有一点学习曲线。

UIView过渡

更简单的解决方案就是使用UIView方法transitionFromView:toView:duration:options:completion:。 (参见文档here)。可以选择使用页面卷曲过渡。您的两个视图由其他视图控制器管理有一点轻微的复杂性,因此您还需要使用视图控制器方法addChildViewController:didMoveToParentViewControllerwillMoveToParentViewControllerremoveFromParentViewController 。这在文档here中描述(在&#34;实现自定义容器视图控制器&#34;)。