Closed2
[SwifUI] Sticky header scroll view
主な参考資料
- SwiftUIでStickyなタブを実現する - クックパッド開発者ブログ
- SwiftUI Sticky Header Tutorial by TrailingClosure | Level Up Coding
- SwiftUI 3.0 Collapsable Animated Sticky Header - Custom Scroll Animation's - Xcode 13 - WWDC 2021 - YouTube
- SwiftUI Tutorial – Scaling Header
- SwiftUI Animated Sticky Header | Resizable Header | Xcode 14 | SwiftUI Tutorials - YouTube
- Sticky Headers for Scroll Views - Swift Talk - objc.io
LazyVStack(pinnedViews: .sectionHeaders) {}
のように.sectionHeadersを利用し、Sectionで固定Viewを指定するのが実装難易度は低い。
その挙動が要件を満たさない場合は独自実装が必要。
固定したいviewの、offsetを動的に変更することで上部に固定されているように見せ、且つ特定のところから高さを変えるようにすることでSticky headerは実現できるが、Viewの描画次第?では少しカクツキが発生することがあった。
高さは変えずにoffsetだけで解決するのが良さそう。
結局これを使うことにした。
exyte/ScalingHeaderScrollView: A scroll view with a sticky header which shrinks as you scroll. Written with SwiftUI.
この最小実装を作っても良かったが今回は割愛。
このスクラップは2023/06/05にクローズされました