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
There are a couple of images that we will use in this recipe, both of them courtesy of crommelincklars on Flickr (https://www.flickr.com/photos/142899511@N03).
Let's create a SwiftUI app called StretchableHeaderApp
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/tree/master/Resources/Chapter07/recipe11: