Group Group Group Group Group Group Group Group Group

How to Create a Splash Screen With SwiftUI | raywenderlich.com

Learn to build a splash screen that uses animation and SwiftUI to go beyond the typical static launch screen and keeps users interested while the app loads.


This is a companion discussion topic for the original entry at https://www.raywenderlich.com/4503153-how-to-create-a-splash-screen-with-swiftui

At the end of the “Improving the Circle Animation” section I had to add:

self.uScale = 1

into restartAnimation() before the circle would restart at the smaller size. Before that it only grew bigger the first animation.

I noticed that while following the tutorial that the background didn’t actually fill in solidly until adding the Image near the end of the tutorial. The map was always visible behind the animations and title. This can be seen in the Fuber-Finished project as well if you comment out the Image.

The problem is that the VStack with the .background modifier is not expanding to fill the screen.

Adding the following .frame modifier to the VStack is one way to fix this:

.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)

For other possible fixes see https://stackoverflow.com/questions/57480619/vstacks-frame-size-doesnt-fill-all-of-the-screen

Apple says:

Design a launch screen that’s nearly identical to the first screen of your app. If you include elements that look different when the app finishes launching, people can experience an unpleasant flash between the launch screen and the first screen of the app.

Avoid including text on your launch screen. Because launch screens are static, any displayed text won’t be localized.

Downplay launch. People are likely to switch apps frequently, so design a launch screen that doesn’t draw attention to the app launching experience.

Don’t advertise. The launch screen isn’t a branding opportunity. Don’t design an entry experience that looks like a splash screen or an “About” window. Don’t include logos or other branding elements unless they’re a static part of your app’s first screen.

I’ll stick with Apple. Thanks…

@smacewan You’re welcome!