在iOS中实现跨控制器动画的最佳实践是什么?

时间:2016-08-08 03:26:47

标签: ios user-interface core-animation

,----------.      ,----------.
|          |      |       ⓘ |
|  ,----.  |      |          |
|  |LOGO|  | ===> |          |
|  `----'  |      |          |
|   VC1    |      |   VC2    |
`----------'      `----------'

我想实现上面草稿中描述的动画:当UI从VC1(可能是欢迎场景,中间有大徽标)转移到VC2(家庭场景,带有带圆圈的字母 在右上角,这是一个关于按钮),我希望该徽标逐渐转变为那个带圆圈的 i

由于徽标视图属于VC1,而带圆圈的 i 属于VC2,因此我不知道如何正确设置动画。可能正在将LOGO转换为带圆圈的 i 的比例和位置,然后切换它们的可见性是一种好方法(我不确定)

还有其他类似的动画,有时简单的transform --> toggle visibility技巧无法处理:想象一下,fromVC和{{}中需要有一个textview(可能是标题)在动画中,其他视图(例如背景)需要变换(例如,α混合,模糊等)。我做了一个hack,使textview在开始时属于toVC,并在动画阶段将它赋予fromVC,这在某种程度上有效,但看起来有点脏。有没有更好的方法(或最佳方式)来实现这一目标?

toVC

1 个答案:

答案 0 :(得分:1)

  

可能正在将LOGO转换为圈出的规模和位置然后   切换他们的知名度是一个好方法(我不确定)

是。这就是我这样做的方式。在单个视图控制器中管理动画,并在动画之前或之后立即在控制器之间切换。