【问题标题】:How to implement slurp effect on iPhone?如何在 iPhone 上实现 slurp 效果?
【发布时间】:2009-06-19 18:45:59
【问题描述】:

iPhone 有一个 Apple 使用的私人效果列表,例如“genieEffect”和“slurpEffect”。我想知道如何实现 slurp 效果(这是当您丢弃邮件或便条时)。

我了解如何使用核心动画,但我不确定他们使用它的哪些部分来获取动画。

【问题讨论】:

  • 具体来说,我正在寻找如何自己模拟效果(或类似的东西),而不是使用私有 API(这会使我的应用被拒绝)。

标签: iphone core-animation


【解决方案1】:

这篇文章讨论了使用私有 API 来实现效果: link text

【讨论】:

  • 我了解如何使用私有 API 获得效果,但这不是我想要的,因为我希望我的应用不要被拒绝 :) 具体来说,我正在寻找如何自己模拟效果(或类似的东西)。
  • 从技术上讲...这是一个未记录的 API,而不是私有 API?看起来您仍在使用公开可用的函数调用。我认为这可能是安全的,但我会抛出一个标志,这样如果他们不同意,你就可以退回到蹩脚的效果。
  • 我愿意相信你是对的,但我的直觉告诉我并非如此。除非有人对如何实现这一点有一些想法,否则我可能最终会提出不同的过渡。
【解决方案2】:

它似乎是 2D 和 3D 转换的复杂组合。 :-\ 你必须深入研究 CoreAnimation 才能模拟这种效果。

【讨论】:

    【解决方案3】:

    我会通过应用到视图层的仿射变换来做到这一点。线性代数不是我的强项;)所以我无法指定确切的变换,但我的猜测是动画是这样的:

    • 将 alpha 设置为 0.0 或 接近 0 的东西
    • 应用变换来挤压靠近中心的两个底角
    • 将视图缩小到非常小
    • 将图层的中心向下移动到屏幕底部(或任何您希望它出现的位置。

    这或多或少是我认为它会起作用的方式。你可能需要在不同的时间为这些东西制作动画,或者在一个区块中制作动画,我不太确定。

    查看 CALayer、CABasicAnimation 和 CGAffineTransform 的文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      相关资源
      最近更新 更多