Ready for Launch (Screen)
I’ve been purdy busy this week so just a short post today, but good stuff coming next week I promise. Today I just want to talk about launch screens.
For a project I’m working on I wanted to build an animated launch screen. So I went to the launch screen storyboard and declared a custom class for the ViewController and heeeey wait a minute…

Hmm. That’s a problem. How am I going to animate my launch screen if I can’t subclass the launch screen view controller? Or any of the views in that view controller?
So I did a little digging and found there’s no way around this. Or if there is, I couldn’t find one. I tried using a UIWebView with a .gif, I tried using a SceneKit scene… nothing. Everything would require some kind of subclassing in order to get an animation. What you CAN do is make the first view during the launch a dedicated “splash” screen. So after the launch screen exits, the first screen that appears in your app looks exactly the same, only with the animations that you like. This screen hangs out until your little splash animation has executed, and then moves onto the login view or dashboard view or whatever your little heart desires.
I was dissatisfied with what I had found. I thought FOR SURE that I had seen other apps with animated launch screens. So I checked out a few. Juno. MLB At Bat. Mini DayZ. Sure enough, each one of them starts with a static image before the splash animations occur.
So, it’s kind of poor form to make your user just wait for your nifty animation to carry out before launching the app. Like, “Just get me to the freakin app already dude.” I guess a short little half second doo-dad won’t bother anybody. But for the animation in MY app to really impress anybody it would probably need to last 3 or so seconds. TOO LONG. Then I figured out what a splash page is actually useful for besides showing off a little cute cartoon. This would be a GREAT TIME to make any external API calls that are required for your app to run! Ya know, like pre-loading images or user data or whatever your app needs to get started. Neat!
So not any really deep and interesting information this week. Just kind of an, “Oh yeah, duh” moment for me. But I feel like these are good to share sometimes. Leave comments. Party on.
