如何实现像苹果新闻应用程序或Pinterest ios那样的放大效果

如何实现像苹果新闻应用程序或Pinterest ios那样的放大效果,ios,swift,core-animation,layer,Ios,Swift,Core Animation,Layer,今天我在Apple新闻应用程序和Pinterest应用程序中发现了放大效果,我想知道如何才能达到类似的效果。我读到了Pinterest的博客 上面写着 为此,我们使用了UINavigationControllerDelegate的 animationControllerForOperation方法提供 UIViewControllerAnimatedTransitioning对象来执行转换 而且我无法找出UIViewControllerAnimatedTransitioning类型的CBLPin

今天我在Apple新闻应用程序和Pinterest应用程序中发现了放大效果,我想知道如何才能达到类似的效果。我读到了Pinterest的博客

上面写着

为此,我们使用了UINavigationControllerDelegate的 animationControllerForOperation方法提供 UIViewControllerAnimatedTransitioning对象来执行转换

而且我无法找出
UIViewControllerAnimatedTransitioning类型的
CBLPinViewTransition
的幕后原因

看起来我可能需要以编程的方式在

当我实现协议时,
UIViewControllerAnimatedTransitioning
UIViewControllerTransitioningDelegate
如Mathew的博客中所述


我的方向对吗?有谁知道如何实现这一点吗

是的,这是正确的道路。在过渡方法中,取原始块的帧。获取要转换到的视图的快照,并将其添加到帧处的视图中。然后设置其大小更改的动画以填充屏幕

谢谢。你所说的原始街区的框架是什么意思。你能澄清一下吗?你想展开的任何视图的框架都被点击了。基本上,你会在它上面添加一个新的视图,这样它看起来会扩展。看看我是否理解正确。假设我单击特定新闻,这是我想要捕获快照的帧。将快照添加到当前视图的顶部(比如新闻列表)。然后调整快照的大小?是,除非您可能还希望将快照从新闻项目的快照交叉淡入淡入您将结束的完整视图的快照
func animateTransition(transitionContext: UIViewControllerContextTransitioning) {
        // Perform the animation
    }