我想制作一张可以打开的窗帘。我有两个图像:一个用于左侧,一个用于窗帘的右侧(用红色表示)。我想用Core Animation顺利地将它们移开。我应该寻找什么动画类型?如何实现逼真的滑动风格?
此致
的Stefan
alt text http://img.skitch.com/20100627-8ytxrbe64ccbruj49c2pbs7kt2.png
答案 0 :(得分:5)
我不确定为什么人们建议使用翻译。如果您只需要滑动图像,只需在动画块内的每个图像视图上调用 -setCenter 即可。像这样:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[leftCurtainImageView setCenter:pointOffScreenLeft];
[rightCurtainImageView setCenter:pointOffScreenRight];
[UIView commitAnimations];
其中pointOffScreenLeft和pointOffScreenRight的计算方式如下:
CGPoint pointOffScreenLeft = CGPointMake(
-[leftCurtainImageView bounds].size.width,
[leftCurtainImageView frame].origin.y);
CGPoint pointOffScreenRight = CGPointMake(
[rightCurtainImageView frame].origin.x +
[rightCurtainImageView bounds].size.width,
[leftCurtainImageView frame].origin.y);
这些计算假设窗帘分别位于其包含视图的最左边和最右边。
答案 1 :(得分:1)
最简单的解决方案是必须使用imageview或CGLayers,然后在动画块中使用CGAffineTransformTranslate将它们滑出屏幕。
答案 2 :(得分:0)