如何为多个子视图控制器同步自定义过渡?

时间:2017-09-23 01:48:03

标签: ios swift animation uiviewcontroller uinavigationcontroller

我有一个容器UIViewController(DuoContainerController),它包含两个子控制器:

HeaderController - 包含一个标签,可以改变其高度

BodyController - 一个普通的UINavigationController

我的目标是在BodyController中的控制器之间执行自定义交互式过渡,并让HeaderController为BodyController的过渡同步动画各种属性(在此示例中为高度和标签文本)。

推入BodyController的控制器有一个自定义转换,我目前在DuoContainerController中管理。为了简单起见,它只是一个淡入淡出,但我也想知道如何在每个控制器中进行单独的子视图,例如在弹出时从右侧过渡到过渡到底部。

我想我需要用UIViewControllerTransitionCoordinator做一些事情,但是文档很简单,我找不到任何像我在这里尝试做的例子。目前尚不清楚它是否适合这样的事情,或者仅仅是简单的东西,如解雇装饰视图。

我设置了一个骨架项目,以便在以下链接中测试此问题。它在正文中设置了三个子控制器,执行交互式淡入淡出过渡。 https://github.com/GoldenJoe/TransitionTest

总结一下,我想做以下事情:

  1. 与子控制器转换同步更改HeaderController的高度和文本。
  2. 让子控制器的标签在转换过程中进行转换,而不是仅仅使整个视图渐变。
  3. 奖励 - 对于授权和动画制作实施的任何架构建议都将不胜感激。
  4. enter image description here

0 个答案:

没有答案