iOS视图“折叠”动画

6
我看到了这个很棒的效果,并希望在我正在设计的应用中使用类似的东西。我假设这不是“标准”的转换之一。
有人知道如何实现这样的效果吗?我不是真的想要一个详细的代码示例,更多的是高层次的概述/指引。
1个回答

6
我会这样做:
  1. 创建两个图层:一个为要折叠的视图的左侧,另一个为其右侧。

  2. 在这些图层中,分别渲染要折叠的视图的左侧或右侧图像。在大多数情况下,可以使用renderInContext:方法。

  3. 两个图层的初始位置都位于屏幕的左侧边缘(x = 0.0)。将左侧图层的锚点设置为(0.0, 0.5),将右侧图层的锚点设置为(1.0, 0.5)。您还应该为图层分配绕y轴的旋转变换:左侧图层为-90度,右侧图层为+90度(或者反过来,我不确定,请尝试一下)。

  4. 当用户激活折叠动作时,开始一个动画(或进行手势操作),将两个图层的变换重置为单位矩阵。您可能还需要调整右侧图层的位置,使其不紧贴屏幕的左侧边缘。

  5. 仅当动画/手势完成时,您才用实际要折叠的视图替换包含仅静态图像的两个图层。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接