Pull-to-Refresh-API
Aktiviere die native Pull-to-Refresh-Geste in deiner iOS-WebView-App, passe ihre Farben an und schalte sie dynamisch aus deiner Web-App um.
Die Pull-to-Refresh-API bringt die native iOS-Geste zum Aktualisieren in deine WebView-App: Nutzer ziehen die Seite nach unten, um die aktuelle URL neu zu laden – genau wie in nativen Apps wie Mail oder Safari.
So aktivierst du das Feature:
Öffne Config.swift und setze:
var pulltorefresh = true var preventoverscroll = false
pulltorefreshaktiviert das native Refresh-Element.preventoverscrollmuss auffalsestehen – die Geste benötigt die Bounce-/Overscroll-Animation der WebView.
Farben anpassen:
Den Lade-Spinner und seinen Hintergrund kannst du in Config.swift getrennt für den Light und Dark Mode gestalten:
var pulltorefresh_loadingsigncolour_lightmode = #colorLiteral(...) var pulltorefresh_backgroundcolour_lightmode = #colorLiteral(...) var pulltorefresh_loadingsigncolour_darkmode = #colorLiteral(...) var pulltorefresh_backgroundcolour_darkmode = #colorLiteral(...)
Tipp: Klicke in Xcode auf das Farbfeld neben dem jeweiligen #colorLiteral, um eine Farbe visuell auszuwählen. Die Dark-Mode-Varianten erfordern iOS 13 oder höher.
Dynamisch aus deiner Web-App umschalten:
Du kannst Pull-to-Refresh zur Laufzeit ein- oder ausschalten – zum Beispiel, um es auf Seiten mit eigenen Wisch-Gesten (Karten, Slider, Spiele) zu deaktivieren:
<a href="enablepulltorefresh://">Pull-to-Refresh aktivieren</a> <a href="disablepulltorefresh://">Pull-to-Refresh deaktivieren</a>
Oder per JavaScript:
window.location.href = "disablepulltorefresh://";
Beide Befehle werden auch innerhalb eines MultiAPICall-Aufrufs unterstützt.
Gut zu wissen:
- Das Refresh-Element lädt die URL neu, die aktuell in der WebView angezeigt wird.
- Wenn du über die Dynamic-UI-API die Farbe der unteren Leiste zur Laufzeit änderst, werden die Pull-to-Refresh-Farben automatisch passend angepasst.