所以情况如下:
我已经说过20个观点,他们都是同一个观点的子视图。现在我想在动画内容中删除并添加新视图。
我之前通过使用常规的UIView动画并逐渐淡出它们来做到这一点。问题是,当要插入的新子视图与正在淡出的子视图重叠时,动画并非完美无瑕。所以我尝试使用+[UIView transitionFromView:toView:...]
动画块来使动画交叉溶解。这很好用,动画效果很好。
这基本上解决了我的问题。唯一的问题是,我可能想要用一个更大的子视图替换2个子视图。这并没有真正解决,因为我不能只将nil
传递给转换方法。
所以我的问题基本上是我可以同时交叉分解多个子视图,无论动画有多少视图?
感谢您的帮助!
答案 0 :(得分:0)
您是否尝试过将视图移除到透明的大视图中?所以你只需要使用容器内部的2个小容器和正在进入的大容器调用transitionFromViewToView?
答案 1 :(得分:0)
您可以使用+ [UIView transitionWithView:duration:options:animations:completion:]
,传递公共超级视图(通常是视图控制器的self.view
),以便立即执行所有动画。
摘自文档:
此方法将转换应用于指定视图,以便您可以 对状态进行更改。您在动画中指定的块 参数包含您要进行的任何状态更改。 你可以 使用此块添加,删除,显示或隐藏指定的子视图 查看。如果要包含其他可设置动画的更改,则必须执行此操作 在中包含UIViewAnimationOptionAllowAnimatedContent键 选项参数。