【发布时间】:2013-02-05 09:54:33
【问题描述】:
我并排有2个imageView,如图:
我需要通过重复动画作为滑动视图来更改这些图像。我通过使用 NSTimer 来做到这一点。
以下是我用于创建动画的代码:
CATransition *animation = [CATransition animation];
[animation setDuration:1];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromRight];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]] ;
[[imgVwTry layer] addAnimation:animation forKey:@"@asdf"];
但是,Left ImageView 中的动画是从图像视图的边界之外开始的。如下图所示:
让我更清楚地解释一下:
正在发生的动画与 Right ImageView 重叠。但是,我希望动画只发生在为 LeftImageView 指定的区域中。像这样的东西:
我应该在动画代码中进行哪些更改,以便我可以删除重叠。或者有没有其他方法可以为图像设置动画?
还有一个简单的问题, 如果我使用 UIImageView 的 startAnimation 方法,是否可以将动画改为滑动动画?
【问题讨论】:
-
或许你可以设置原图的背景,而不是使用透明度...
-
rightimageview的背景设置为黑色,但动画是在layer上发生的,所以在背景中添加一些颜色没有关系
标签: iphone ios animation slide catransition