Ich habe festgestellt, dass einige Apps wie Safari und Mail beim Zugriff auf das Netzwerk eine Ladeanzeige in der Statusleiste (die Leiste ganz oben auf dem Telefon) anzeigen. Gibt es eine Möglichkeit, dasselbe in SDK-Apps zu tun, oder ist dies nur eine Sache von Apple?
ios
cocoa-touch
rostig
quelle
quelle
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
// als EinzeilerUIApplication.sharedApplication().networkActivityIndicatorVisible = true
Ich fand die folgenden Makros ziemlich nützlich!
Sie können also einfach anrufen
ShowNetworkActivityIndicator();
oderHideNetworkActivityIndicator();
aus Ihrer App heraus (sofern der Header natürlich enthalten ist!).quelle
Ich habe einen Singleton geschrieben, der das Problem mehrerer Verbindungen löst, indem er einen Zähler für das Geschehen hält (um zu vermeiden, dass der Status entfernt wird, wenn eine Verbindung zurückkehrt, aber eine andere noch aktiv ist):
Die Header-Datei:
und Umsetzung:
Beispiel:
quelle
Ein einzeiliger Code dafür:
quelle
Sie müssen darauf achten, dass die Aktivitätsanzeige auch nach Abschluss Ihres Netzwerkanrufs ausgeblendet wird.
Wenn Sie verwenden
AFNetworking
, müssen Sie nicht viel tun.Nehmen Sie folgende Änderungen in der
AppDelegate
Klasse vor:Importieren
AFNetworking/AFNetworkActivityIndicatorManager.h
Gib das ein
didFinishLaunchingWithOptions:
[[AFNetworkActivityIndicatorManager sharedManager] setEnabled:YES]
quelle
Die Netzwerkaktivitätsanzeige in der Statusleiste war in iOS 13 veraltet .
Die Verwendung
UIApplication.shared.isNetworkActivityIndicatorVisible = true
funktioniert nicht mehr.Die Verfallsmeldung lautet:
quelle
Es kann auch hilfreich sein, sicherzustellen, dass Sie es auf dem Hauptthread ausführen, da es mit der Benutzeroberfläche zusammenhängt.
quelle
Wie viele gesagt haben, gibt es keine Netzwerkaktivitätsanzeige für das iPhone X und wahrscheinlich für die anderen neuen iPhones mit der Kerbe.
Ich bin auf diese unglaubliche Bibliothek gestoßen, die von Ortwin Gentz, FutureTap, geschrieben wurde: https://github.com/futuretap/FTLinearActivityIndicator
Dadurch wird der Indikator wieder genau dort platziert, wo er zum Zeitpunkt der Veröffentlichung des iPhone X war. Viele würden sich an den Indikator vom Typ Knight Rider erinnern.
Diese Bibliothek ist für Swift 4.2 verfügbar, daher müssen Sie die Swift -Spracheinstellungen wie hier beschrieben ändern: Typ 'NSAttributedStringKey' (auch bekannt als 'NSString') hat kein Mitglied 'font'.
quelle