【发布时间】:2016-02-28 08:57:45
【问题描述】:
我们正在尝试实现与 Facebook 应用程序中相同的效果,即点击提要中的视频并将同一视频同时转换为模态视图。
如何将 AVplayer 从 uitableviewcell 无缝过渡到 uiviewcontroller 的新实例?
【问题讨论】:
标签: ios objective-c uiviewcontroller avplayer
我们正在尝试实现与 Facebook 应用程序中相同的效果,即点击提要中的视频并将同一视频同时转换为模态视图。
如何将 AVplayer 从 uitableviewcell 无缝过渡到 uiviewcontroller 的新实例?
【问题讨论】:
标签: ios objective-c uiviewcontroller avplayer
我通过实现UIViewControllerTransitioningDelegate 并使用我自己的符合UIViewControllerAnimatedTransitioning 协议的自定义动画对象来实现这一点。
我使用https://github.com/recruit-mp/RMPZoomTransitionAnimator 作为参考,并进行了一些修改以在源和目标UIViewControllers 之间移动实际视图(不是快照):
在 animator 对象中,使用 animator 对象的“源框架”、“目标框架”和“playerView”的委托方法,所有这些都在“to”和“from”视图控制器上实现,我抓取包含播放视频,抓住它的开始帧,它的结束帧,并正确地将视图从其开始帧动画到最终位于“to”视图控制器上的帧。
转换完成后,我将播放视频UIView 作为子视图添加到目标视图控制器,使其成为“目标”视图控制器视图的一部分,可用于交互等。
【讨论】:
UIViewControllerTransitioningDelegate 协议使用的动画对象中访问。我是 OP,您可以在我们的应用程序中看到我如何使用自己的答案的示例,您可以在 comedy.com 下载该示例。我认为您在投反对票之前并没有想太多……您能更清楚一点,并就为什么给我们一些有效的论据吗?
AVPlayerViewController。看起来视频视图在整个过渡过程中都具有最终的全屏尺寸(即,它不支持对视频的尺寸进行动画处理)。我想我需要放弃 AVPlayerViewController 并直接使用 n AVPlayerLayer...