【问题标题】:How to achieve zoom in effect like Apple News App or Pinterest ios如何实现 Apple News App 或 Pinterest ios 之类的放大效果
【发布时间】:2016-05-01 00:39:02
【问题描述】:

今天我在 Apple News App 和 Pinterest App 中发现了放大效果,我想知道我怎样才能达到类似的效果。我读到了 Pinterest 的博客https://engineering.pinterest.com/blog/behind-pins-building-pinterest-30-ios

它说

为此,我们使用了 UINavigationControllerDelegate 的 animationControllerForOperation 方法提供了一个 UIViewControllerAnimatedTransitioning 对象来执行过渡

我无法弄清楚 CBLPinViewTransition 类型 UIViewControllerAnimatedTransitioning 的背后是什么

看起来我可能需要在

func animateTransition(transitionContext: UIViewControllerContextTransitioning) {
        // Perform the animation
    } 

当我实现协议 UIViewControllerAnimatedTransitioningUIViewControllerTransitioningDelegate 如 Mathew 的博客 http://mathewsanders.com/animated-transitions-in-swift/ 中所述时

我是否朝着正确的方向前进?任何人都可以对如何实现这一点有任何想法。

【问题讨论】:

    标签: ios swift core-animation layer


    【解决方案1】:

    是的,这是正确的道路。在过渡方法中,取原始块的帧。获取您要过渡到的视图的快照,并将其添加到框架处的视图中。然后动画它的大小变化以填满屏幕。

    【讨论】:

    • 谢谢。你说的原始块的框架是什么意思。你能澄清一下吗?
    • 您想要展开的任何被点击的视图的框架。本质上,您将在其顶部添加一个新视图,使其看起来像扩展了。
    • 看看我是否理解正确。假设我单击特定新闻,这是我要捕获快照的帧。将快照添加到当前视图的顶部(假设是新闻列表)。然后调整快照的大小?
    • 是的,但您可能还希望将快照从新闻项目的快照交叉淡入淡出到您将结束的完整视图的快照
    猜你喜欢
    • 1970-01-01
    • 2023-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多