wie um zu zeigen, countdown auf uilabel im iphone?
habe ich ein uilabel und einen uislider auf einen Blick. ich möchte set label ' s mal mit Schieberegler.Auswahl des Reglers ist 00:00:00-03:00:00. bedeutet 3 Stunden.und intervel auf Schieberegler ist 0,5 Minuten.auch, wie zu zeigen.ich möchte den timer läuft auch wenn die Anwendung geschlossen ist.
InformationsquelleAutor Rahul Vyas | 2009-10-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
First off, es gibt keinen Weg, um den timer zu laufen, nachdem die app geschlossen. Hintergrund-apps einfach nicht erlaubt auf dem iPhone. Es gibt Möglichkeiten, um gefälschte es mit einem timer (speichern eines Zeitstempels, wenn die app beendet wird, und überprüfen Sie es gegen die Zeit, wenn es wieder startet), aber es wird nicht den Fall behandeln, wo Ihr timer abläuft, bevor die app gestartet wird, zurück.
Als für die Aktualisierung der UILabel mit dem countdown, ein NSTimer würde wahrscheinlich funktionieren. Etwas in dieser Art, vorausgesetzt, Sie haben einen NSTimer timer, int secondsLeft, und ein UILabel countdownLabel in Ihrer Klasse:
Erstellen der timer:
Den updateCountdown Methode:
Mache ich etwas ähnliches in einem meiner apps, aber nicht die code handy jetzt.
Das wäre die Anzahl der Sekunden, die Sie möchten, dass der timer zu laufen, höchstwahrscheinlich setup sonst wo auf der Grundlage der Wert der UISlider.
als shawn sagte, die Sie nicht halten können Sie den timer zu laufen, nachdem die app geschlossen ist, so stellen Sie sicher, verfolgen Sie die start-Zeit, wenn die app sendet die UIApplicationWillTerminateNotification (ich denke, das ist es, ich bin rusty). Die einzige Lösung mit einem timer heraus läuft, wenn die app nicht ausgeführt wird, ist die Verwendung push-Benachrichtigung. aber das kann teuer werden.
Danke Shawn! Hab eine Frage, wie tötet man den timer? nochmals vielen Dank.
Wenn Ihnen die Unwirksamkeit der timer, wird es stoppen.
InformationsquelleAutor Shawn Craver
Dieser code falsch ist.
Sollte es sein.
InformationsquelleAutor ScratchMyTail
können Sie halten den Zeitgeber ausgeführt, wenn Ihre Anwendung hat tritt in den hintergrund ,
als @shawn craver gesagt u Sie können dies nicht tun, aber Sie können dies tun, wenn die Anwendung tritt in den hintergrund ("nicht beendet"), die ein anderes Ereignis applicationDidEnterBackground
und, dass Sie müssen einige multithreading GCD(grand central dispatch).
plase siehe diesen link
stellen Sie einen timer in ios
InformationsquelleAutor ViruMax