Files
buzz/mobile/ios/Runner/NavigationTopEdge.swift
klopez4212 93b8b8febc Standardize mobile navigation edges (#8895)
Standardizes mobile navigation headers: Android uses Home’s shared
Flutter blur; iOS uses native soft edges, with graduated material
retained during large-title collapse and the iOS 26 fallback preserved.

Preserves Home’s upward title motion with a soft boundary and keeps the
avatar crop title visible.

Validation: 4,112 Flutter tests and 111 native tests passed after
merging main. Rendered partial-scroll regression verified on the iOS 27
simulator; removing either review fix fails its regression assertion.
The earlier preview was installed on a physical iPhone with the existing
profile.

---------

Signed-off-by: kenny lopez <klopez4212@gmail.com>
Co-authored-by: Terp <5856f6900e8e0a4e0ea1f4f8d2ee33e4753d2119bc122f94ecafc660b46c0511@buzz.block.builderlab.xyz>
2026-11-01 21:41:40 +00:00

19 lines
654 B
Swift

import UIKit
/// Applies the app's soft navigation edge to app-owned native sheets.
/// OS-owned pickers retain their system presentation.
enum NavigationTopEdge {
static func configure(_ scrollView: UIScrollView, item: UINavigationItem) {
if #available(iOS 26.0, *) {
scrollView.topEdgeEffect.style = .soft
scrollView.bottomEdgeEffect.isHidden = true
}
let appearance = UINavigationBarAppearance()
appearance.configureWithDefaultBackground()
item.standardAppearance = appearance
item.scrollEdgeAppearance = appearance
item.compactAppearance = appearance
item.compactScrollEdgeAppearance = appearance
}
}