swiftUIでCustomRefreshableを作ってみた by 昆野 佑樹

iOSDC Japan 2024
ルーキーズLT(5分)

swiftUIでCustomRefreshableを作ってみた

昆野 佑樹
1

swiftUIで pull to refresh を実現するにはApple純正のrefreshableを使うのが一般的です。
ただし、私が開発しているアプリでは、この純正機能を使用することで、レイアウト崩れや予期しない動作が発生していました。

具体的には、リフレッシュした後にスクロールview の画面が下にずれる問題が発生していました(詳細はこちら: https://stackoverflow.com/questions/76943913/swiftui-scrollview-refreshable-doesnt-work-appropriately)
他にも対応している、アプリがiOS15以下も対応していたため、そもそもScrollViewのリフレッシュが使えない。
私のUIKit経験値が低いために、UIKitでのリフレッシュバグが起きた際に対応しきれなかった。

そのためswiftUIのみでcustomRefreshableを作ろうと思いました。