2015-04-26 119 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 
}