我有一个视图,我想通过动画将其缩放并翻译到新的位置。我试着用下面的代码来实现它:UIVIew动画 - 缩放+翻译
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:kDurationForFullScreenAnimation];
[[self animatingView] setFrame:finalRect];
[UIView commitAnimations];
这段代码的作用是,认为第一次改变其内容的大小与finalRect,然后将其转换到新的位置。即缩放部分从不动画。该视图只是转换为新的大小,然后翻译。
此问题已在其他几个线程中讨论过,但没有一个得出结论。尽管如此,解决方案确实存在,要使用定时器并每次在定时器回调中设置帧,但它存在性能缺陷。
什么是最适合这个问题的解决方案,也是为什么在第一种情况下会出现这个问题?
谢谢
的事情是,如果我不喜欢这一点,展示的内容及其所有子视图立即承担newRect 。他们没有动画到新的框架。就像说你有一个imageView作为动画视图的子视图,imageView中的图像不会逐渐缩放。相反,图像首先被放到newRect上,然后视图的边界缩放+平移。尽管改变了中心在动画块中的作用,但是改变边界并不像预期的那样。 – 2010-09-02 07:36:31