我正在尝试在我的所有应用屏幕中获得闪烁的星形背景效果。我把这段代码放在初始视图控制器文件中:
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 :(得分:0)
如果第一次出现某个视图时出现了某些内容,但是当您导航回来时却没有,则可能是在viewdidload中进行了设置。试试viewwillappear。每次显示视图时都会触发此操作。不仅在首次加载视图时。
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
// your code that needs to run each time a view appears
}