如何启用隐式UIView动画?
问题描述:
试图将我的大脑包裹在动画中。这里是我的基本情况:如何启用隐式UIView动画?
_________
|Parent |
| |
| |
| _____ | _____
| |A | | |B |
| |_____| | |_____|
|_________|
其中Parent
是父视图和A
和B
都是UIView
实例。我选择制作A
和B
UIView
,因为据我所知,图层无法接收用户交互。我想要做的动画非常简单:我只想让A
从屏幕向左滑动,而B
从右侧滑动。
我试过类似如下:
CALayer *layer = viewA.layer;
layer.position = CGPointMake(initialLayer.position.x, initialLayer.position.y - 480);
,但没有立即动画更新属性。
我能够使用CABasicAnimation
得到这个工作没有太多的麻烦,但我想学习使用隐式动画来处理这种场景,所以我可以在未来更快地进行原型设计。 This post似乎暗示UIView
s不能执行隐式动画(至少默认情况下)。
我的问题:
- 有没有办法来隐式动画一个
UIView
的层上的属性?怎么样? - 如果没有,是否有更好的/规范的方式来做到这一点,这与我的方法不同?
答
您可以使用animateWithDuration
:
[UIView animateWithDuration:2.0 animations:^{
viewA.frame = newFrame;
}];
谢谢。这工作完美! – benekastah 2012-03-17 22:15:42