循环动画停止

时间:2015-04-26 23:48:13

标签: ios swift

我正在尝试在我的所有应用屏幕中获得闪烁的星形背景效果。我把这段代码放在初始视图控制器文件中:

 for index in 1...50 {

    var x = CGFloat(arc4random_uniform(400))
    var y = CGFloat(arc4random_uniform(700))

    // Set the Center of the Circle
    // 1
    var circleCenter = CGPointMake(x,y)

    // Set a random Circle Radius
    // 2
    var circleWidth = CGFloat(arc4random_uniform(7) + 2)
    var circleHeight = circleWidth

    // Create a new CircleView
    // 3
    var circleView = circleview(frame: CGRectMake(circleCenter.x, circleCenter.y, circleWidth, circleHeight))
    view.addSubview(circleView)

    UIView.animateWithDuration(NSTimeInterval(1000 + arc4random_uniform(100)) / 1000, delay: NSTimeInterval(arc4random_uniform(100)) / 1000, options: .CurveEaseIn | .Repeat | .Autoreverse, animations: {circleView.alpha = 0
        }, completion: { finished in
            println("thing!") })


}

我在每个额外的视图控制器文件中都放了相同的代码,但圆圈没有出现。如果我点击返回初始屏幕,则不再显示圆圈(即使他们是第一次加载应用时也是如此)。

1 个答案:

答案 0 :(得分:0)

如果第一次出现某个视图时出现了某些内容,但是当您导航回来时却没有,则可能是在viewdidload中进行了设置。试试viewwillappear。每次显示视图时都会触发此操作。不仅在首次加载视图时。

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    // your code that needs to run each time a view appears
}