Ich muss einen Status auf dem Bildschirm für den Benutzer bereitstellen, während ein beliebiger Prozess stattfindet. Ich weiß nicht, wie lange es dauern wird. Wie kann ich die progressView
für immer inkrementieren (es wird langsamer, wenn es sich 1 nähert).Unendlich Schritt für Fortschrittsanzeige?
Antwort
Eine mögliche Lösung besteht darin, die halbe Distanz bis zum Ende zu erhöhen. Wenn also die Fortschrittsanzeige zum ersten Mal auf 0 steht, nimmst du 1 minus wie weit es gegangen ist (0) und dividiere das mit 2. Also (1-0)/2 = .5
. Das nächste Mal wäre (1-.5)/2 = .25
, also würden Sie 0,25 hinzufügen und 0,75 bekommen. Das wird funktionieren, obwohl es wahrscheinlich nicht die wünschenswerte Lösung ist, da das erste Mal ziemlich schnell gehen wird und die Benutzer annehmen, dass die Aufgabe halbwegs erledigt ist, wenn wirklich der erste Teil ist fertig und die Fortschrittsansicht wird erheblich verlangsamen
Ich denke, Sie müssen ein wenig mehr über den willkürlichen Prozess, aber in der Regel eine unendliche Fortschrittsansicht wäre ein rotierender Kreis oder etwas der kontinuierlichen Bewegung, die den Benutzer zeigt, dass es nicht eingefroren ist . Sie können eine Beschriftung in die Ansicht einfügen, die Sie mit Text aktualisieren können.
Um eine Berechnung durchzuführen, müssen Sie einen Gesamt- und einen aktuellen Betragswert haben. So zum Beispiel in einer Schleife könnte man so etwas tun:
var objects = [Object]()
progressView.label.text = "starting"
progressView.startAnimating()
var i = 0
for object in objects {
progressView.label.text = "processing \(i + 1) of \(objects.count)"
doProcess(object)
progressView.label.text = "processed \(i + 1) of \(objects.count)"
i = i + 1
}
progressView.label.text = "done"
Wenn Sie die Dauer der Animation verlangsamen müssen erhöhen die Animation nur statt i
This wird Ihr bester Freund sein, wenn Sie bereit sind, um die Fortschrittsansicht zu ersetzen! Es hat alles was du willst.
- 1. Fortschrittsanzeige für Javafx App
- 2. wie Schritt für Schritt
- 3. Django form.save Schritt für Schritt
- 4. Iex hüpfen Schritt für Schritt?
- 5. Sympy Schritt für Schritt Lösungen
- 6. php Schritt für Schritt Ausführung
- 7. Daten Schritt für Schritt laden
- 8. matplotlib, Schritt für Schritt Animation
- 9. Fortschrittsanzeige für Dateiupload mit RestTemplate.postForLocation
- 10. Schritt für Schritt SpecFlow-Test für Dummies
- 11. Schritt für Schritt interaktiver Debugger für Rust?
- 12. Schritt für Schritt Tutorial für xinc?
- 13. Unbeabsichtigte unendlich ‚für‘ Schleife
- 14. Schritt-für-Schritt-Beispiel eines Lazy-Seq
- 15. Paypal Integration mit PHP Schritt für Schritt
- 16. Schritt für Schritt Debugging Ziel c
- 17. Wie man Headroom.js funktioniert/Schritt-für-Schritt
- 18. WebStorm - beginnend mit Sass Schritt für Schritt
- 19. Schritt für Schritt Google SSO (Java)?
- 20. wie owa arbeitet Schritt für Schritt
- 21. Django - Formular-Assistent Schritt für Schritt
- 22. numpy.where() detaillierte, Schritt-für-Schritt-Erklärung/Beispiele
- 23. Debugging eines Makefiles Schritt für Schritt
- 24. ctags, jsctags/doctorjs, Tagbar Schritt für Schritt
- 25. coffe Datenschicht Beispiel Schritt für Schritt
- 26. Jboss Schritt für Schritt eingestellt heiß bereitstellen
- 27. Fortschrittsanzeige im komplizierten Silverlight-Prozess
- 28. Wie man MarkerClusterer - Schritt-für-Schritt für einen Neuling verwendet
- 29. Homebrew Formel installieren Schritt für Schritt für Debug
- 30. Change SystemTray Fortschrittsanzeige Farbe