我们试图实现与Facebook应用程序中相同的效果,即点击提要中的视频并同时将同一视频转换为模态视图。
如何将 AVplayer 从 uitableviewcell 无缝转换到 uiviewcontroller 的新实例?
我通过嵌入UIViewControllerTransitioningDelegate
并使用我自己的自定义动画器对象来实现这一点,该对象符合UIViewControllerAnimatedTransitioning
协议。
我使用 https://github.com/recruit-mp/RMPZoomTransitionAnimator 作为参考,并进行了一些修改以在源和目标UIViewControllers
之间移动实际视图(而不是快照):
在 animator 对象中,使用 animator 对象的"源帧"、"预定帧"和"playerView"的委托方法,所有这些都是在"to"和"from"视图控制器上实现的,我抓取包含播放视频的视图,抓取它的开始帧,它的结束帧,并正确地将视图从其开始帧动画到它最终将位于"to"视图控制器上的帧。
转换完成后,我将播放的视频UIView
作为子视图添加到目标视图控制器,以便它成为"to"视图控制器视图的一部分,可用于交互等。