如何启用隐式UIView动画?

时间:2012-03-17 21:40:29

标签: ios animation ios5 core-animation

试图在这里围绕动画包裹我的大脑。这是我的基本情况:

 _________
|Parent   |
|         |
|         |
|  _____  |  _____
| |A    | | |B    |
| |_____| | |_____|
|_________|

其中Parent是父视图,AB都是UIView个实例。我选择制作AB UIView,因为据我所知,图层无法接收用户互动。我想要做的动画非常简单:我只想让A向左滑动,而B从右侧滑入。

我尝试过以下内容:

CALayer *layer = viewA.layer;
layer.position = CGPointMake(initialLayer.position.x, initialLayer.position.y - 480);

但是该属性立即更新,没有动画。

我能够使用CABasicAnimation使用UIView而不会有太多麻烦,但我想学习使用隐式动画来实现这种情况,这样我将来可以更快地进行原型设计。 This post似乎暗示UIView无法执行隐式动画(至少默认情况下)。

我的问题:

  1. 有没有办法在{{1}}的图层上隐式动画属性?怎么样?
  2. 如果没有,是否有更好的/规范的方法可以做到与我的方法不同?

1 个答案:

答案 0 :(得分:1)

您可以使用animateWithDuration

[UIView animateWithDuration:2.0 animations:^{
    viewA.frame = newFrame;
}];