所以我每秒增加一個CGPoint
的y值。要做到這一點,我正在使用NSTimer
,它會觸發某個增加y值的函數。問題是我每次用戶觸摸顯示器時都會增加y值。我注意到每次有人點擊時,都會有多個定時器發射,因此增加的y值比想要的要多。那麼如何刪除以前的NSTimers並只使用最後一個呢?多個NSTimers Xcode 6 Swift
我目前NSTimer
設置
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
var timer: NSTimer?
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("update"), userInfo: nil, repeats: true)
}
還有更多的我的代碼,但是這個基本NSTimer
設置一個觸發處做的y值增加「更新」。
我想這樣做timer.invalidate()
但這只是做什麼工作,計時器不會重新啓動
「並且定時器不會重新啓動」當然。無效的計時器不能重複使用;它永遠是死的。 – matt 2014-12-04 02:05:31
這不就是某種動畫嗎?計時器是動畫製作最糟糕的方式。如果你想動畫,使用實際的動畫!它內置在iOS中。 – matt 2014-12-04 02:06:31
好的。我將如何「動畫」將CGPoint y值每秒增加一定量? – 24GHz 2014-12-04 02:12:20