2015-04-26 85 views
0

我试图在所有应用程序屏幕中获得闪烁的星型背景效果。我把这个代码在初始视图控制器文件:环状动画停止

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!") }) 


} 

而且我把同样的代码中的其他各个视图控制器文件,但圈不会出现。如果我点击返回到初始屏幕,则圆圈不会再出现(即使它们是第一次加载应用程序时)。

+0

欢迎来到StackOverflow。上面的代码在哪个方法中运行? – ABakerSmith

+0

许多事情可能会出错。所有视图控制器文件都与界面构建器中的对应文件绑定。如果您从一个视图应用程序开始,则会为您创建第一个应用程序。其余的需要一些额外的设置。 如果他们第一次运行,但不要当你回来时,你可能在viewdidload中设置它。尝试viewwillappear。每次显示视图时都会触发它。不仅在视图第一次加载时。 –

+0

谢谢@RMenke就是这样! :) –

回答

0

如果第一次运行视图时出现一个视图,但不会导航回来,您可能将其设置为viewdidload。尝试viewwillappear。每次显示视图时都会触发它。不仅在视图第一次加载时。

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

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