Today Widget: Was es ist, Arten und Erstellung des Benachrichtigungs-Widgets

Autor: IT Sectr Veröffentlicht: 2026-06-15 Lesezeit: 10 Min.

Today Widget ist eine iOS-Erweiterung, die interaktive Informationen direkt im Benachrichtigungszentrum oder auf dem „Today“-Bildschirm anzeigt. Der Benutzer sieht aktuelle Daten — Wetter, Wechselkurse, Kalender — ohne die Haupt-App zu öffnen. Laut Apple WWDC (2025) stieg die Nutzung von WidgetKit nach der Einführung interaktiver Widgets in iOS 17 um 40%. Today Widget löst das Problem des schnellen Zugriffs auf Informationen: ein Blick auf den Bildschirm — und der Benutzer erhält die benötigten Daten, ohne durch die App navigieren zu müssen.

Wichtige Punkte

  • Today Widget — eine iOS-Erweiterung zur Anzeige von Informationen im Benachrichtigungszentrum.
  • WidgetKit — ein modernes Framework zur Erstellung von Widgets (iOS 14+).
  • NCWidgetProviding — ein Protokoll für Benachrichtigungszentrum-Erweiterungen (iOS 8–13).
  • Auto Layout — Anpassung des Widgets an verschiedene Bildschirmgrößen.
  • Timeline Provider — Datenaktualisierungsmechanismus in WidgetKit.

Was ist Today Widget

Today Widget (auch bekannt als Benachrichtigungszentrum-Widget) ist ein iOS-Oberflächenelement, das zusammengefasste Informationen aus einer App anzeigt, ohne sie zu öffnen. Der Benutzer sieht das Widget, indem er auf dem Sperrbildschirm oder dem Startbildschirm nach links wischt. Das Widget kann dynamische Daten anzeigen — Wechselkurse, aktuelle Nachrichten, Aufgabenstatus, Gerätezustand.

Historisch gesehen erschien Today Widget in iOS 8 als Benachrichtigungszentrum-Erweiterung, die über das Benachrichtigungszentrum-Framework implementiert wurde. Mit iOS 14 führte Apple WidgetKit ein — eine vollständig neu gestaltete Architektur, die es ermöglicht, Widgets direkt auf dem Startbildschirm zu platzieren. Today Widget im modernen Sinne ist ein WidgetKit-Widget, das im Bereich „Today“ (dem Widget-Bereich links vom ersten Bildschirm) platziert wird.

Warum Sie ein Today Widget benötigen

Das Hauptziel ist es, die Zeit für den Zugriff auf Informationen zu verkürzen. Anstatt die App zu öffnen, durch Menüs zu navigieren und auf das Laden zu warten, sieht der Benutzer sofort die benötigten Daten. Laut Apple (2024) zeigen Apps mit Widgets ein 27% höheres Benutzerengagement. Zusätzliche Anwendungsfälle: Schnellaktionen (Aufgabe als erledigt markieren), Überwachung (Herzfrequenz, Aktivität) und Status (Akku-Ladung, Benachrichtigungen).

WidgetKit vs NCWidgetProviding

Einem Today Widget-Entwickler stehen zwei Ansätze zur Verfügung: modernes WidgetKit (iOS 14+) und die Legacy-Erweiterung NCWidgetProviding (iOS 8–13). Die Wahl hängt von der minimal unterstützten iOS-Version ab. WidgetKit wird für neue Projekte empfohlen, NCWidgetProviding zur Unterstützung älterer Geräte.

MerkmalWidgetKitNCWidgetProviding
Min. iOSiOS 14iOS 8
PlatzierungStartbildschirm + „Today“Nur „Today“
GrößenKlein, Mittel, GroßEine feste Größe
InteraktivitätiOS 17+ Tasten und SchalterNur App öffnen
AktualisierungTimeline ProviderwidgetPerformUpdate
SpracheSwiftUIUIKit

Wann WidgetKit verwendet werden sollte

Wenn Ihre App iOS 14 und neuer unterstützt — verwenden Sie WidgetKit. Es bietet umfangreiche Funktionen: mehrere Größen, Konfiguration über Intents, Neugestaltung mit iOS 17 und Deep Links. Die Deklarativität von SwiftUI macht Widget-Code kompakt und lesbar. Timeline Provider verwaltet den Aktualisierungsplan automatisch unter Berücksichtigung des Stromverbrauchs.

Wann NCWidgetProviding verwendet werden sollte

Nur wenn iOS 9–13 Unterstützung erforderlich ist. NCWidgetProviding ist einfacher zu implementieren — es ist ein normaler UIViewController mit einem Protokoll. Es ist jedoch eingeschränkt: nur eine Größe, nur UIKit, keine Konfiguration. Apple empfiehlt, auch bei alten Projekten mit availability check auf WidgetKit umzusteigen: WidgetKit auf iOS 14+, NCWidgetProviding als Fallback.

Arten von Today Widgets

Im modernen iOS gibt es drei Arten von Widgets nach funktionalem Zweck. Jeder Typ löst sein eigenes Problem und erfordert einen anderen Ansatz für Daten- und Interface-Design. Die Klassifizierung hilft, die richtige Architektur für Ihre App zu wählen.

Informations-Widgets

Zeigen statische oder regelmäßig aktualisierte Informationen an: Wetter, Datum, Wechselkurse, Serverstatus. Die Daten werden nach einem Zeitplan über Timeline Provider aktualisiert. Der Benutzer interagiert nicht mit dem Widget — er liest nur. Informations-Widgets sind am einfachsten zu implementieren, erfordern keine Touch-Ereignisbehandlung und arbeiten im Hintergrund ohne zusätzliche Berechtigungen.

Interaktive Widgets

Mit iOS 17 unterstützt WidgetKit Tasten, Schalter und Schieberegler in Widgets. Der Benutzer kann eine Aktion ausführen — eine Aufgabe markieren, Musik pausieren, Licht einschalten — ohne die App zu öffnen. Interaktive Widgets verwenden App Intents, um Aktionen an die Haupt-App zu übergeben. Einschränkung: nur auf dem Startbildschirm, nicht im Bereich „Today“ bis iOS 18.

Konfigurierbare Widgets

Der Benutzer passt die angezeigten Daten über die Systemoberfläche an — wählt eine Stadt für das Wetter, ein Konto für Finanzen, eine Kategorie für Nachrichten. Implementiert über Intents Extension und Konfiguration in WidgetBundle. Konfigurierbare Widgets erhöhen die Personalisierung und Relevanz der Informationen für jeden Benutzer.

Erstellen eines WidgetKit-Widgets

Sehen wir uns den Prozess der Erstellung eines Today Widgets in SwiftUI mit WidgetKit an. Das Widget zeigt den aktuellen Wechselkurs mit automatischen Aktualisierungen an. WidgetKit erfordert drei Komponenten: eine Widget-Struktur, einen Provider mit Konfiguration und eine View zur Anzeige.

swift
import WidgetKit
import SwiftUI

@main
struct CurrencyWidget: Widget {
    let kind: String = "CurrencyWidget"

    var body: some WidgetConfiguration {
        StaticConfiguration(kind: kind, provider: Provider()) { entry in
            CurrencyWidgetEntryView(entry: entry)
        }
        .configurationDisplayName("Currency Rate")
        .description("Current USD/RUB exchange rate")
        .supportedFamilies([.systemSmall, .systemMedium])
    }
}

Der Provider ist für die Aufbereitung der Daten zur Anzeige verantwortlich. Die Methode getTimeline erstellt einen Aktualisierungsplan: die nächste Aktualisierung in 15 Minuten. TimelineProvider stellt sicher, dass das Widget aktuelle Daten anzeigt, ohne den Server ständig abzufragen.

swift
struct Provider: TimelineProvider {
    func getSnapshot(in context: Context,
                      completion: @escaping (CurrencyEntry) -> Void) {
        let entry = CurrencyEntry(date: Date(), rate: 92.5)
        completion(entry)
    }

    func getTimeline(in context: Context,
                     completion: @escaping (Timeline<CurrencyEntry>) -> Void) {
        let rate = CurrencyService().fetchRate()
        let entry = CurrencyEntry(date: Date(), rate: rate)
        let nextUpdate = Calendar.current.date(
            byAdding: .minute, value: 15, to: Date()
        ) ?? Date()
        let timeline = Timeline(entries: [entry], policy: .after(nextUpdate))
        completion(timeline)
    }
}

Timeline Provider und Datenaktualisierung

Timeline Provider ist der zentrale WidgetKit-Mechanismus zur Verwaltung von Today Widget-Daten. Anstatt regelmäßige Aktualisierungen per Timer (wie beim alten NCWidgetProviding) verwendet WidgetKit das Konzept einer Timeline — einer Sequenz von Einträgen mit Zeitstempeln. Das System zeigt den aktuellen Eintrag an, bis er abläuft, wechselt dann zum nächsten oder fordert einen neuen an.

Aktualisierungsrichtlinien

Timeline unterstützt drei Richtlinien: .after(date) — nächste Aktualisierung zum angegebenen Datum; .never — das Widget wird nicht aktualisiert, bis WidgetCenter.reloadAllTimelines explizit aufgerufen wird; .atEnd — Aktualisierung nach Anzeige des letzten Eintrags. Für ein Today Widget mit Wechselkursen ist die Richtlinie .after mit einem Intervall von 15–30 Minuten optimal. Energieeffizienz ist ein wichtiger Vorteil von WidgetKit: Das System gruppiert Aktualisierungen aller Widgets in einem Fenster.

WidgetCenter: Programmatische Aktualisierung

Wenn sich die Daten vor Ablauf der Timeline ändern (z.B. der Benutzer den Kurs in der App aktualisiert hat), rufen Sie WidgetCenter.shared.reloadTimelines(ofKind: „CurrencyWidget“) auf. Dies fordert eine neue Timeline vom Provider an und aktualisiert die Anzeige. WidgetCenter ermöglicht auch das Neuladen aller App-Widgets mit einem einzigen Befehl — praktisch nach der Datensynchronisation.

Widget-Designrichtlinien

Apple stellt strenge Anforderungen an das Design von Today Widgets: Der Inhalt muss auf einen Blick lesbar sein, ohne unnötige Elemente und mit klarer Hierarchie. Ein Verstoß gegen die HIG-Empfehlungen (Human Interface Guidelines) ist ein Ablehnungsgrund bei der Veröffentlichung im App Store. Drei Prinzipien: Blickerfassung, Konsistenz und Hierarchie.

Blickerfassung — auf einen Blick lesbar

Der Benutzer verbringt weniger als eine Sekunde mit einem Widget. Fügen Sie nicht mehr als 3–4 Datenelemente hinzu. Schriftart — mindestens 11pt für Beschriftungen, 17pt für Werte. Verwenden Sie Fettdruck (Semibold) für wichtige Zahlen. Vermeiden Sie Scrollen — Today Widget scrollt nicht.

Anpassung an Größen

WidgetKit unterstützt drei Größen: Klein (170×170pt), Mittel (364×170pt), Groß (364×382pt). Für Today Widget im Bereich „Today“ ist Mittel die häufigste Wahl. Adaptives Design über EnvironmentValues: Ändern Sie die Informationsdichte je nach Größe. Klein — eine Zahl, Mittel — Zahl + Diagramm, Groß — Tabelle.

Dark Mode und Dynamic Type Unterstützung

Das Widget sollte sowohl im hellen als auch im dunklen Modus ohne zusätzliche Entwickleraktionen korrekt angezeigt werden — WidgetKit übernimmt automatisch die Systemfarben. Dynamic Type für Widgets ist eingeschränkt: Die Schriftgröße ist fest, aber muss lesbar sein. UIColor.label und UIColor.systemBackground sind die Grundfarben für Text und Hintergrund in beiden Designs.

Häufig gestellte Fragen

Wie unterscheidet sich Today Widget von einem normalen Widget auf dem Startbildschirm?

Heute ist es dasselbe WidgetKit-Widget. Der Unterschied liegt nur in der Platzierung: auf dem Startbildschirm und im Bereich „Today“ (links vom ersten Bildschirm). Vor iOS 14 war Today Widget eine separate NCWidgetProviding-Erweiterung, die nur im Benachrichtigungszentrum funktionierte. Jetzt ist es ein einheitliches WidgetKit.

Wie oft wird Today Widget aktualisiert?

WidgetKit aktualisiert Widgets nicht per Timer. Der Entwickler legt den Zeitplan über Timeline Provider fest: Einträge mit Zeitstempeln. Das System garantiert eine Aktualisierung zur angegebenen Zeit unter Berücksichtigung der Energieeinsparung — kann sich um einige Minuten verzögern. Das Mindestintervall beträgt 15 Minuten, aber Apple empfiehlt höchstens einmal pro Stunde.

Kann ich ein Today Widget mit interaktiven Schaltflächen erstellen?

Ja, ab iOS 17 unterstützt WidgetKit Tasten, Schalter und Schieberegler über App Intents. Interaktive Elemente funktionieren auf dem iPhone- und iPad-Startbildschirm. Die Unterstützung im Bereich „Today“ kam mit iOS 18. Für iOS 16 und älter — nur Öffnen der App beim Tippen auf das Widget.

Wie viele Today Widgets kann eine App haben?

Es gibt keine Grenzen. Eine App kann beliebig viele Widgets über WidgetBundle registrieren — jedes mit eigenem Typ, Größe und Konfiguration. Der Benutzer fügt sie einzeln hinzu. Empfohlen werden nicht mehr als 3–5 Widgets, um die Auswahl des Benutzers nicht zu überfordern.

Wie teste ich Today Widget auf dem Simulator?

WidgetKit wird im iOS Simulator vollständig unterstützt. Führen Sie das WidgetKit-Target-Schema in Xcode aus — das Widget erscheint auf dem Startbildschirm des Simulators. Zum Testen des Timeline Providers verwenden Sie WidgetKit Debug Profile: Xcode → Product → Profile → WidgetKit Debug. Überprüfen Sie das tatsächliche Verhalten auf einem physischen Gerät.

Zusammenfassung

  • Today Widget — eine iOS-Erweiterung zur Anzeige von Informationen ohne Öffnen der App.
  • WidgetKit (iOS 14+) — modernes Framework, NCWidgetProviding — Legacy für alte Versionen.
  • Drei Widget-Typen: informativ, interaktiv (iOS 17+), konfigurierbar über Intents.
  • Timeline Provider verwaltet den Aktualisierungsplan statt Timer.
  • Design muss auf einen Blick erfassbar sein: minimale Elemente, große Schrift, Größenanpassung.
  • Interaktivität über App Intents — Tasten und Schalter ohne App-Öffnung.
  • WidgetCenter.shared.reloadTimelines — programmatische Aktualisierung bei Datenänderung.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch