2016-04-06 21 views
0

Uyarı denetleyicimde 3 saniye geri sayım yapmak istiyorum. Bunu nasıl yapacağınızdan emin değilim. 3 saniye içinde kaybolmak için uyarı alabilirim, sadece geri sayım eksik.UIAlertController'da Geri Sayım

var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(self.decrease), userInfo: nil, repeats: true) 

func decrease() 
{ 
    self.secs-=1 
    self.defaultAction.setValue("Dismiss in \(self.secs)", forKey: "title") 
} 

Ve yeni zamanla başlık güncellenecektir:

//simple alert dialog 
let alertController = UIAlertController(title: "Workflow successful", message: "Modified reminder's priority or list.", preferredStyle: .Alert) 

var secs = 3 
let defaultAction = UIAlertAction(title: "Dismiss in " + secs, style: .Default, handler: nil) 
alertController.addAction(defaultAction) 

dispatch_async(dispatch_get_main_queue()) { 
    //self.presentViewController(alertController, animated: true, completion: nil) 
    self.showViewController(alertController, sender: self) 
} 

let delayTime = dispatch_time(DISPATCH_TIME_NOW, 
       Int64(secs * Double(NSEC_PER_SEC))) 
dispatch_after(delayTime, dispatch_get_main_queue()) { 
    alertController.dismissViewControllerAnimated(true, completion: nil) 
} 

cevap

1

Eğer görünüm denetleyicisi görevden gecikme süresini ayarladıktan sonra, ikinci bir benzeri sonra bir işlevi çağırmak için bir zamanlayıcı ayarlayabilirsiniz .