iOS中无休止的重复滚动/动画背景?

Posted

技术标签:

【中文标题】iOS中无休止的重复滚动/动画背景?【英文标题】:Endless repeating scrolling/animated background in iOS? 【发布时间】:2012-08-18 01:07:22 【问题描述】:

我一直在为 2 个在 iPhone 视图上无限水平滚动的图像设置动画。背景不能有任何空隙。如果这可以只用 1 张图片来完成,那就太好了,但我似乎无法理解。这是我到目前为止的代码:

-(void)moveImages 
CABasicAnimation *theAnimation; 
theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
theAnimation.duration=10;
theAnimation.repeatCount=100;
theAnimation.autoreverses=NO;
theAnimation.fromValue=[NSNumber numberWithFloat:320];
theAnimation.toValue=[NSNumber numberWithFloat:-320];
[theImage.layer addAnimation:theAnimation forKey:@"animateLayer"];

CABasicAnimation *theAnimation2;
theAnimation2=[CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
theAnimation2.duration=10;
theAnimation2.repeatCount=100;
theAnimation2.autoreverses=NO;
theAnimation2.fromValue=[NSNumber numberWithFloat:640];
theAnimation2.toValue=[NSNumber numberWithFloat:-640];
[theImage2.layer addAnimation:theAnimation2 forKey:@"animateLayer2"];



【问题讨论】:

【参考方案1】:

嗯,在代码中,您可以创建一个由这两者组合而成的新图像。此合成图像宽 960 像素,将第一张图像复制到最右边和最左边的位置。中间位置是第二张图片。

您将图像左移 640 像素,因此您只能看到第一张图像。然后为 640 像素设置动画。当您重新启动动画时,图像总是左移 640 像素。

这样你就有了一个动画。

【讨论】:

以上是关于iOS中无休止的重复滚动/动画背景?的主要内容,如果未能解决你的问题,请参考以下文章

Swift - 动画 UIImageView 图像

在具有多个部分的 tableView 中滚动时使用平滑动画更改视图背景渐变颜色

UIView,动画背景颜色非常缓慢,挂起滚动视图(!)

具有 100% 宽度的 CSS 背景图像和动画滚动直到图像完成

通过动画其 X 位置连续滚动 div 背景图像

为啥 ViewPager 向左滚动时颜色过渡动画错误?