0
在我的應用程序中,我有一個視圖,並且我希望此視圖在8秒後顯示每次都被解除。爲了做到這一點,我在視圖創建函數內部創建了一個定時器,用於在觸發後隱藏視圖。有用。但是在某些情況下,我想呈現我希望在創建+8秒後被解散的視圖的兩個副本。問題是,定時器工作只有一次 - 它隱藏來看一個副本,第二保持在屏幕上Swift - 如何運行乘法計時器?
我的代碼是
func presentShowStatusShort(text text:String) {
pointsShort = NSBundle.mainBundle().loadNibNamed("helperShowStatusShort", owner: self, options: nil).first! as! helperShowStatusShort
pointsShort?.frame.size.width = self.view.bounds.width
if pointsShortOnScreen {
pointsShort!.frame.origin.y = pointsShort!.frame.origin.y + 39
}
pointsShort?.text.text = "\(text.uppercaseString)"
pointsShort!.dismissButton.addTarget(self, action: "dismissShowStatusShort", forControlEvents: UIControlEvents.TouchUpInside)
var timer = NSTimer.scheduledTimerWithTimeInterval(8, target: self, selector: "dismissShowStatusShort", userInfo: nil, repeats: false)
pointsShortOnScreen = true
view.addSubview(pointsShort!)
}
func dismissShowStatusShort() {
pointsShortOnScreen = false
UIView.animateWithDuration(0.5, animations: {
self.pointsShort?.frame.origin.y = (self.pointsShort?.frame.origin.y)! - 64
}, completion: {
finished in
self.pointsShort?.removeFromSuperview()
})
}
對於我的標題和問題本身講述不同的東西。所以你只想用一個定時器來關閉這兩個視圖,或者每個視圖使用一個定時器? – azimov
只需使用一個數組來存儲所有定時器,當需要時停止並刪除它們 – azimov