Viewcontroller与水平的动画的背景图象

时间:2016-08-20 15:59:05

标签: ios swift animation

我正在尝试为我的一个视图控制器创建一个动画背景图像,其中图像从左向右水平滚动,然后在水平到达图像末尾时重复。这种效果在使用SpriteKit的游戏中非常常见,但在使用UIKit的标准视图控制器中,如何在任何地方都没有明确的信息。如果您可以告诉我如何将图像的上边界设置为导航栏底部而不是视图控制器的顶部,则可以获得额外的分数:)

这是图片: backgroundimage

2 个答案:

答案 0 :(得分:1)

使用图像的两个副本。从一个完全占据屏幕的图像开始。另一个是它的左边。向右移动,以便第二个副本将第一个副本推离屏幕。当动画到达结尾时,只有一个副本完全占据屏幕,跳回到开始并重复。跳跃将不可见,因为图像相同,并且当它们处于相同位置时执行跳转。

好消息是我刚才描述的行为是重复CABasicAnimation的默认行为;它会在每次重复结束时自动跳回到开始状态。因此,我能够非常快速地编写概念验证(Swift 3,iOS 10):

public class GetFileHandler : IHttpHandler, IRequiresSessionState

答案 1 :(得分:1)

You can achieve it by setting the `frame` of your `imageview` within an animation block like below:


func animate(){
        imageView.frame.origin.x = 0
        UIView.animateWithDuration(2, delay: 0.0, options: .CurveLinear, animations: {[unowned self] () -> Void in

            self.imageView.frame.origin.x = self.view.frame.size.width
            }) {[unowned self] (finsihed) -> Void in
                self.animate()
        }

    }