- Use LazyVStack(pinnedViews: [.sectionHeaders]) for native section header stickiness - Move ScrollOffsetReader outside LazyVStack (sibling) to prevent lazy-unload breaking scroll tracking - Add baseline capture to ScrollOffsetReader to correctly normalize offset regardless of ScrollView content insets - Apply safeAreaTop padding to categoryTabs only when pinned (isCategoryTabsPinned), preventing oversized header before scroll - Remove complex ZStack dual-tabs overlay, stickyProgress logic, and categoryTabsStickyProgress - categoryTabs now accepts isPinned flag with easeInOut(0.15s) animation on pin transition Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
162 lines
6.1 KiB
Swift
162 lines
6.1 KiB
Swift