2014-11-25 7 views
5

In der Android-Entwicklung nutze ich einen ProgressDialog, um mir einen Dialog mit 'Spinny', etwas Text und einem Cancel-Button zu geben. Ich benutze dies kombiniert mit einem CountdownTimer, um eine Aktion nach 10 Sekunden auszuführen, außer der Benutzer bricht den Dialog ab.Gibt es in iOS ein Äquivalent zum Android ProgressDialog

Ich habe für ein Äquivalent in iOS, wie die Open-Source-SVProgressHUD und MBProgressHUD gesucht, aber keiner scheint das Hinzufügen einer Schaltfläche zu unterstützen.

Muss ich meine eigene schreiben, oder weiß jemand einen einfachen Weg, dies zu erreichen?

+1

seit IOS 9.0 UIAlertView ist veraltet. Folgen Sie [this] (http://stackoverflow.com/a/25671652/6042879) für eine aktualisierte Antwort! –

+0

Probieren Sie diese HUD-Bibliothek für iOS in swift https://github.com/shubh10/JustHUD –

Antwort

7
UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; 
indicator.frame = CGRectMake(0.0, 0.0, 40.0, 40.0); 
indicator.center = self.view.center;  
[self.view addSubview:indicator]; 
[indicator bringSubviewToFront:self.view]; 
[UIApplication sharedApplication].networkActivityIndicatorVisible = TRUE; 

schreiben Code unten, wenn Sie wollen Indikator zeigen

[indicator startAnimating]; 

schreiben Code unten, wenn Sie Anzeige ausblenden möchten

[indicator stopAnimating]; 

bei How to programmatically add a simple default loading(progress) bar in iphone app

UPD gefunden wurde : Sie können Alarmdialog ohne Sie erstellen t Tasten und fügen Sie alle benutzerdefinierten Elemente manuell:

UIAlertView *alert; 

... 

alert = [[UIAlertView alloc] initWithTitle:@"\n\nConfiguring Preferences\nPlease Wait..." message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil]; //display without any btns 
// alert = [[UIAlertView alloc] initWithTitle:@"\n\nConfiguring Preferences\nPlease Wait..." message:nil delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles: nil]; //to display with cancel btn 
[alert show]; 

UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 

// Adjust the indicator so it is up a few pixels from the bottom of the alert 
indicator.center = CGPointMake(alert.bounds.size.width/2, alert.bounds.size.height - 50); 
[indicator startAnimating]; 
[alert addSubview:indicator]; 

Alarm zu entlassen, nur tun

[alert dismissWithClickedButtonIndex:0 animated:YES]; 

Weitere Informationen unter: http://iosdevelopertips.com/user-interface/uialertview-without-buttons-please-wait-dialog.html

+0

Danke für die Antwort, aber während dies eine Spinny zeigt, die ich später ablehnen kann, gibt es nicht die Option einer Abbrechen-Schaltfläche. –

+0

aktualisierte Antwort mit neuen Ansatz –

+0

Das tat es, danke, eine Änderung benötigt, um die Schaltfläche Abbrechen anzuzeigen: alert = [[UIAlertView alloc] initWithTitle: @ "\ n \ nKonfigurieren Einstellungen \ nBitte warten ..." Nachricht: kein Delegat: self cancelButtonTitle: @ "Abbrechen" otherButtonTitles: nil]; –