【发布时间】:2012-03-27 20:01:19
【问题描述】:
我有一个简单的 UIView 动画块。在块中,我只更改了视图的 alpha,但视图的框架也被动画化了!什么鬼?
这是我的代码:
UIButton *button = [flowerViews objectAtIndex:index];
UIImageView *newGlowView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"grid_glow.png"]];
newGlowView.frame = CGRectMake(0, 0, 130, 130);
newGlowView.center = button.center;
newGlowView.alpha = 0.0;
[scrollView_ addSubview:newGlowView];
[scrollView_ sendSubviewToBack:newGlowView];
[UIView animateWithDuration:0.3 animations:^{
newGlowView.alpha = 1.0;
}];
如您所见,我正在创建一个新视图并将其添加到 scrollView_。在将视图添加到 scrollView_ 之前,我正在设置视图的位置和 alpha。添加后,我有一个动画块可以将视图的 alpha 从 0 设置为 1。
问题是,视图的位置也是动画的!当它淡入时,它看起来好像是从 CGRectZero 的原始帧动画到我分配的帧。
从表面上看,只有在动画块中设置的属性才应该是动画的,对吧?这是一个错误吗?我错过了什么吗?
谢谢!
【问题讨论】:
-
是从动画块中调用整个事物,还是在动画块内的事件中调用,例如自动旋转视图控制器委托方法。
-
是的。您可以将其发布为答案以便我接受吗?我只是自己想通了(duh)
标签: ios uiview core-animation uiviewanimation