fix(ui): désactive bounce iOS WKWebView (bottom tab bar semblait remonter)
Symptôme rapporté par Sylvain 2026-05-18 : sur toutes les pages, quand on scroll vers le bas et qu'on arrive en fin de page, la bottom tab bar (#bottom-tabs en position: fixed) "remonte" visuellement avec le rebond élastique iOS. Cause : WKWebView UIScrollView a `bounces = true` par défaut. Pendant le rebond élastique en fin de scroll, le viewport iOS bouge et les éléments position:fixed suivent visuellement le rebond pour quelques millisecondes — donnant l'impression que la nav bar n'est pas vraiment fixe. Fix natif Swift (doc Apple-recommandée pour ce cas) : - webView.scrollView.bounces = false - webView.scrollView.alwaysBounceVertical = false - webView.scrollView.alwaysBounceHorizontal = false Plus fiable que le hack JS preventDefault touchmove existant dans _layout.html (qui restera comme fallback web pur). Bump build requis côté Mac avant rebuild TestFlight.
This commit is contained in:
@@ -38,5 +38,16 @@ class MainViewController: CAPBridgeViewController {
|
|||||||
if #available(iOS 16.4, *) {
|
if #available(iOS 16.4, *) {
|
||||||
webView?.isInspectable = true
|
webView?.isInspectable = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Désactive le rebond élastique iOS du WKWebView (en haut + en bas).
|
||||||
|
// Sans ça, quand l'user arrive en bas/haut de page et continue à
|
||||||
|
// swiper, le contenu rebondit visuellement → les éléments
|
||||||
|
// `position: fixed` (notre bottom tab bar #bottom-tabs) suivent
|
||||||
|
// le rebond et semblent "remonter" hors de l'écran momentanément.
|
||||||
|
// Solution Apple-recommandée pour app Capacitor : désactiver bounces
|
||||||
|
// au niveau UIScrollView native (plus fiable que preventDefault JS).
|
||||||
|
webView?.scrollView.bounces = false
|
||||||
|
webView?.scrollView.alwaysBounceVertical = false
|
||||||
|
webView?.scrollView.alwaysBounceHorizontal = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user