2016-03-28 6 views
1

Ich platzierte eine benutzerdefinierte Activity Indicator in meiner Tabellenansicht und ich nannte sie: activityIndicator. Ich habe auch einen Aktionsknopf. Wenn ich diesen Knopf drücke, sollte der Aktivitätsindikator für 3 Sekunden erscheinen und danach sollte er sich verstecken. Wie das in Swift 2.0Aktivitätsanzeige für 3 Sekunden in Swift 2.0 anzeigen Tabellenansicht

@IBAction func RefineButtonPress(sender: AnyObject) { 

} 

Bitte helfen Sie mir !!

Antwort

3

kann versuchen, diese für eine einzelne Funktion Implementierung

@IBAction func RefineButtonPress(sender: AnyObject) { 

    self.activityIndicator.startAnimating() 
    self.activityIndicator.hidden = false 

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (Int64)(3 * NSEC_PER_SEC)), dispatch_get_main_queue()){ 
     self.activityIndicator.stopAnimating() 
     self.activityIndicator.hidden = true 

    }; 
} 
+0

in diesem muss ich auch meine Tabellenansicht wie 'self.tableview.r neu laden eload() '... in diesem Versand kann ich meine Tabellenansicht neu laden? – user5513630

+0

ja das kannst du auch in den dispatch_after setzen – Fonix

+0

ich stehe vor einem problem!. Wenn ich eine benutzerdefinierte Aktivitätsanzeige anzeige. Und fügte allen Code für die Aktion hinzu. Ich bekomme einen Fehler, dass 'Der activityIndicator-Ausgang vom ViewController zur UIActivityIndicatorView ist ungültig. Outlets können nicht mit sich wiederholenden Inhalten verbunden werden. '. Wie kann ich meiner Tabellenansicht einen Ibuoutlet-Aktivitätsindikator hinzufügen? irgendeine andere Idee zu tun? – user5513630

2

Erste eine Methode in der Klasse mit dem Namen erstellen hideActivityIndicator wie folgt:

func hideActivityIndicator() 
{ 
    activityIndi.hidden = true 
} 

Dann rufen Sie diese Methode in der Wahldurchführen, wo Sie anrufen möchten. dh auf dem Click-Ereignis Taste wie folgt:

self.performSelector("hideActivityIndicator", withObject: nil, afterDelay: 3.0) 
1

Swift 3 funktioniert wie folgt:

func hideActivityIndicator() { 
    self.activityIndicator.stopAnimating() 
    self.activityIndicator.isHidden = true 
} 

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
{ 
    self.activityIndicator.startAnimating() 
    self.perform(#selector(IAPViewController.hideActivityIndicator), with: nil, afterDelay: 2.0) 
} 

Natürlich ist es das, was ich benötigt, um es zu verwenden, also ändern Sie es, um Ihre Bedürfnisse zu erfüllen

Verwandte Themen