【发布时间】:2019-12-06 07:10:03
【问题描述】:
我正在处理 VC 之间的动画过渡。我有一个collectionVC 和一个DetailVC。 collectionVC 有自定义类型的单元格,并且两个 VC 之间有一些常见的 UI 项目,如标签和图像。 这个想法是,当一个单元格被点击时,它会进入全屏状态,并且那些常见的项目应该重新定位(平移)到它们在 DetailVC 上的初始状态。
ie,如果“someRedLabel”位于 detailVC 的右下角,当我点击 collectionVC 中的单元格时,“someRedLabel”应该从它的位置开始此刻,在右下角,随着单元格扩展到全屏。
我正在使用 transitiondelegate,手动设置所有不同 UI 元素的帧,从当前上下文到 DetailVC,它几乎可以做我想要的,但总是失败(有些没有动画,有些没有重新定位)并且我认为可能这种方法不正确
我想知道这样做的正确方法是什么。
谢谢。
【问题讨论】:
-
更新我仍然不知道正确的方法是什么,但是,我实现了以下,我建议它:在transitionContext animate函数范围内 使目标视图配置等于当前视图配置,更改每帧和每个项目的属性,然后在动画块中,重新建立初始视图配置。
标签: ios swift uiview uiviewcontroller uikit