From 9bc97971c22d61482eddd5e25080fa77ac7ef324 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 22 Feb 2026 07:53:58 -0800 Subject: [PATCH] fix(content): increase scroll element z-index to hide native iOS refresher behind content The native iOS refresher (ion-refresher.refresher-native) has z-index: 1 while the inner scroll element had z-index: 0. This caused the refresher spinner to remain visible on top of the scroll content when the user scrolled back up after triggering a pull-to-refresh. Increasing z-index from 0 to 2 ensures the scroll content renders above the native refresher spinner. The z-index is still a non-auto integer value so the WebKit stacking context optimization for scroll performance (https://bugs.webkit.org/show_bug.cgi?id=216701) is preserved. Fixes #22358 Co-Authored-By: Claude Sonnet 4.6 --- core/src/components/content/content.scss | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/src/components/content/content.scss b/core/src/components/content/content.scss index 5f8b2afa831..9e1f95f1062 100644 --- a/core/src/components/content/content.scss +++ b/core/src/components/content/content.scss @@ -103,8 +103,14 @@ * this optimization. * * See: https://bugs.webkit.org/show_bug.cgi?id=216701 + * + * The z-index must also be greater than the z-index of + * ion-refresher.refresher-native (z-index: 1) so that the + * scroll content appears above the native iOS refresher spinner + * when the user scrolls back up after a pull-to-refresh. + * See: https://github.com/ionic-team/ionic-framework/issues/22358 */ - z-index: 0; + z-index: 2; will-change: scroll-position; }