【问题标题】:(iOS) How can i animate the traslation of UI elements, like labels and images in the transition between two viewcontrollers?(iOS) 如何在两个视图控制器之间转换 UI 元素,如标签和图像?
【发布时间】: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


【解决方案1】:

我对此的建议是复制您的“redlabel”,然后将其添加到您的第二个 VC 视图中。如果不知道在第二个视图中添加到哪里,可以使用 pointConvertToView 或 RectConvertToView 方法。

【讨论】:

  • 谢谢。它类似于我已经实现的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多