Ich frage mich, ob es möglich ist, die Textbezeichnung eines Timers in einem heutigen Widget zu aktualisieren. Ich schaute mich um, aber nichts half mir.Ist es möglich, einen Timer in einem Today Widget zu aktualisieren?
Antwort
Ja, Sie können. Ich habe es gerade getestet und es funktioniert. Sie müssen nur Ihre Timer auf die Hauptlaufschleife NSRunLoopCommonModes hinzuzufügen:
RunLoop.main.add(yourTimerName, forMode: .commonModes)
import NotificationCenter
class TodayViewController: UIViewController, NCWidgetProviding {
@IBOutlet weak var strTimer: UILabel!
var timer = Timer()
func updateInfo() {
strTimer.text = Date().description
}
override func viewDidLoad() {
super.viewDidLoad()
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(updateInfo), userInfo: nil, repeats: true)
RunLoop.main.add(timer, forMode: .commonModes)
}
func widgetPerformUpdate(completionHandler: @escaping (NCUpdateResult) -> Void) {
completionHandler(.newData)
}
}
https://dl.dropboxusercontent.com/u/87285547/todayTimer.zip –
danke für deine Antwort Ich muss das in meinen Code einfügen, da mein Timer im Hauptansicht-Controller läuft und ich versuche, diesen Timer vom View-Controller auf den todayviewcontroller mit NSUserDefaults und Gruppen – Nicholas
zu übergeben, fühlen Sie sich frei, eine andere Frage mit Ihrem Code zu öffnen Ich werde es für Sie betrachten –
Ich weiß, das ist ein Swift Frage, aber ich fand suchen es für Objective-C-Code und so andere können auch .
-(void) viewDidLoad
{
[NSTimer scheduledTimerWithTimeInterval:1 // update more than once a second to appear in sync with the system clock
target:self
selector:@selector(updateTimes:)
userInfo:nil
repeats:YES];
}
-(void) updateTimes:(NSTimer *)timer
{
// Update Widget UI as required
}
- 1. XCUITest und Today Widget
- 2. Profiling iOS Today Widget (Instrumente)
- 3. Ist es möglich, neue Widget-Instanzen in einem Dashboard-Widget zu erstellen?
- 4. Ist es möglich, einen Speicherwert in Echtzeit zu lesen?
- 5. Ist es möglich, Widget-Einstellungen in Tkinter zu bekommen?
- 6. Ist es möglich, einen Konverter in einem Stil zu verwenden?
- 7. Mehrere Timer in QTableView aktualisieren
- 8. Ist es möglich, einen bereits erstellten Job in einem Knoten zu aktualisieren? Js
- 9. share plist file mit today widget
- 10. Refresh Today Widget jedes Mal geöffnet
- 11. Provisioning-Profil für Today Widget-Erweiterung
- 12. Ist es möglich, einen ValueType zu klonen?
- 13. Ist es möglich, einen Datenbanktransaktionsparameter zu verfälschen?
- 14. Ist es möglich, einen Browser basierend auf einem Ereignis im Webserver zu aktualisieren?
- 15. Ist es möglich, einen Vorlagenalias zu erstellen?
- 16. Ist es möglich, einen Symlink mit einem Texteditor zu bearbeiten?
- 17. Ist es möglich, einen Subprozess zu erneuern?
- 18. Wie kann ich ein iOS 8 Today Widget umbenennen?
- 19. Ist es möglich, einen Operationshaken zu entfernen?
- 20. Ist es möglich, einen Gradienten zu zeichnen?
- 21. Unterstützen Sie zwei Versionen von Today Widget ios 9/10
- 22. Ist es möglich, einen Pull zu erstellen, um ohne eine Tabellenansicht zu aktualisieren?
- 23. Ist es möglich, google amp HTML-Seiten zu aktualisieren?
- 24. Ist es möglich, einen zusammengesetzten Fremdschlüssel in Schienen zu haben?
- 25. Ist es möglich, das Service Fabric Cluster Manifest zu aktualisieren?
- 26. Ist es möglich, angularjs Ausdrücke innerhalb eines iframe zu aktualisieren?
- 27. Aktualisieren der Anzeige von einem Widget?
- 28. Möglich, Timer nicht zu verwenden
- 29. Ist es möglich, Ihre hochgeladene iPhone-Anwendung automatisch zu aktualisieren?
- 30. Ist es möglich, einen Port in einem Ajax-Aufruf angeben
Ich denke, dass die einzige Möglichkeit, dies zu tun ist, übergeben Sie die NSTimeInterval der Hauptansicht Controller und einen anderen Timer in der heutigen Widget erstellen. Ich werde einen Weg herausfinden:] – Nicholas