我有一个简单的 UIView 动画 block 。在该 block 中,我只更改了 View 的 alpha,但 View 的框架也在进行动画处理!什么鬼?
这是我的代码:
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;
}];
如您所见,我正在创建一个新 View 并将其添加到 scrollView_。在将 View 添加到 scrollView_ 之前,我正在设置 View 的位置和 alpha。添加后,我就有了一个动画 block ,用于将 View 的 alpha 从 0 动画化到 1。
问题是, View 的位置也在进行动画处理!当它淡入时,它看起来好像正在从 CGRectZero 的原始帧动画到我分配给它的帧。
表面上看,只有在动画 block 中设置的属性才应该被动画化,对吧?这是一个错误吗?我错过了什么吗?
谢谢!
最佳答案
也许整个事情都是从动画 block 中调用的,或者可能是在动画 block 中的事件中调用的,例如自动旋转 View Controller 委托(delegate)方法。
关于ios - UIView 动画动画化了比我要求的更多的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9896780/