核心动画是一件相当简单的事情,但是:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:30];
MyImageView.frame = CGRectOffset(MyImageView.frame, 100, 0);
[UIView commitAnimations];
我希望能够将ImageView缓慢地向右移动100个像素。因此,我期望所有定位值都是双倍的,以便布局系统可以以亚像素的精度定位物品。 但是当我观察这个动画时,我看到ImageView会“跳跃”而不是平稳地移动。你有什么想法来实现真正的亚像素定位吗? 我还尝试使用计时器设置位置并重新计算帧值,但效果相同。 更新:在我的应用程序的另一部分中,我使用加速度计来更新ImageView的位置,并基本上计算图形的位置和大小,然后执行以下操作:
MyImageView.frame = newCGRect;
我从加速度计那里得到了大约60个更新/秒,并添加了苹果公司加速度计示例中的低通滤波器。
这里的定位完美吗?!?!
为什么使用CoreAnimation时不会发生这种情况?
感谢任何帮助。