,----------. ,----------.
| | | ⓘ |
| ,----. | | |
| |LOGO| | ===> | |
| `----' | | |
| VC1 | | VC2 |
`----------' `----------'
我想实现一个像上面草稿中描述的动画:当 UI 从 VC1(可能是欢迎场景,中心有大 Logo )转移到 VC2(家庭场景,有一个带圆圈的字母时 i 在右上角是一个 ABOUT 按钮),我希望那个标志逐渐转变为那个小圆圈 i。
因为 Logo View 属于 VC1 而带圆圈的 i 属于 VC2,所以我不知道如何正确地制作它们的动画。可能将 LOGO 转换为带圆圈的 i 的比例和位置,然后切换它们的可见性是一个好方法(我不确定)
还有其他此类动画,有时简单的 transform --> toggle visibility
技巧无法处理:假设有一个 textview(可能是一个标题)需要同时显示fromVC
和 toVC
的动画,其他 View (例如背景)需要转换(例如 alpha 混合、模糊等)。我做了一个 hack,使 textview 在开始时属于 fromVC
并在动画阶段将其交给 toVC
,这在某种程度上有效但看起来有点脏。有没有更好的方法(或最佳方法)来实现这一点?
,-----------. ,----------.
| | | ,-----. |
| ,-----. | | |Title| | The textview holding title may
| |Title| | ===> | `-----' | translate during the animation
| `-----' | | |
| VC1 | | VC2 |
`-----------' `----------'
最佳答案
May be transforming LOGO to circled i 's scale and position and then toggle their visibility is a good way( I'm not sure)
是的。那就是我会做的方式。在单个 View Controller 中管理动画,并在动画之前或之后立即在 Controller 之间切换。
关于ios - 在 iOS 中实现跨 Controller 动画的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38820877/