2012-03-17 26 views
0

试图将我的大脑包裹在动画中。这里是我的基本情况:如何启用隐式UIView动画?

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

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

我试过类似如下:

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

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

我能够使用CABasicAnimation得到这个工作没有太多的麻烦,但我想学习使用隐式动画来处理这种场景,所以我可以在未来更快地进行原型设计。 This post似乎暗示UIView s不能执行隐式动画(至少默认情况下)。

我的问题:

  1. 有没有办法来隐式动画一个UIView的层上的属性?怎么样?
  2. 如果没有,是否有更好的/规范的方式来做到这一点,这与我的方法不同?

回答

1

您可以使用animateWithDuration

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

谢谢。这工作完美! – benekastah 2012-03-17 22:15:42