Implementing a stretchable header in SwiftUI
A stretchable header is a well-known effect where, on top of a scroll view, there is an image that scales up when the user slides down the entries.
An example can be found on the artist page of the Spotify app. But in general, it is so common that you are expecting it when a page has a big image as a banner on top of a list of items.
In this recipe, we'll implement a skeleton of the artist page on the Spotify app, and we'll see that this effect is easy to implement in SwiftUI too.
Getting ready
Let's create a SwiftUI app called StretchableHeader
and add the two images – avatar.jpg
and header.jpg
– which you can find in the GitHub repo at https://github.com/PacktPublishing/SwiftUI-Cookbook-2nd-Edition-/tree/main/Resources/Chapter08/recipe10:
How to do it…
We are going to implement two components, one for each row and the other...