c649fef8 (v0.0.388) fixed the grey wash reported in #426 — confirmed on device against v0.0.395, at both edges. Content now scrolls visibly under the floating chrome instead of behind a grey band.
But it hides the edge effect outright:
scroll?.topEdgeEffect.isHidden = topEdgeToEdge && !navigationBarSolid
scroll?.bottomEdgeEffect.isHidden = tabbedScrollThe edge effect was not only a background wash. It was also the only thing separating scrolled content from the status bar and the navigation title. With it hidden and the bar transparent, nothing at the top edge provides that separation, and content passes under the chrome perfectly sharp.
What it looks like
On a screen whose first child is its scroll view (topEdgeToEdge == true, navigationBarSolid == false), scrolling down:
- body content collides with the status-bar clock and the battery/Wi-Fi icons
- content collides with the navigation title — in our case a blue "Plan 7 days" button sits directly on top of the centred title, both fully legible, neither readable
- a search field's placeholder renders immediately beneath the clock
The bottom edge does not show this, because the floating tab bar keeps its own glass material — content is visibly blurred behind it while the top is sharp. So the regression is specific to the top edge.
Suggestion
UIScrollEdgeEffect has a style, and isHidden is not the only way to lose the band:
UIScrollEdgeEffectStyle.hardStyle // "a hard cutoff and dividing line" <- the grey band in #426
UIScrollEdgeEffectStyle.softStyle // "a soft-edged scroll edge effect"
UIScrollEdgeEffectStyle.automaticStylesoftStyle looks like the intended middle ground: a gradual blur as content approaches the edge, with no hard band and no dividing line. That keeps the floating-chrome look the fix was after while content stays readable as it passes under the status bar and the title.
Worth considering whether the top edge wants style = .softStyle rather than isHidden = true, and whether the bottom should match rather than relying on the tab bar's material (a screen with floating chrome but no tab bar would have neither).
Environment
- Craft v0.0.395, Xcode 26.6, iOS 26.5 simulator
- Screen: a native screen that begins with its scroll view,
navigationBarSolid: false, large title