iOS development
Launch Screen
storyboard issues
image not displaying
app design troubleshooting

Launch Screen storyboard not displaying image

Interview Questions practice on Codemia

Over 8,000 real interview questions from top companies, searchable by company and role.

Browse interview questions

Introduction

If an image does not appear on the iOS launch screen, the problem is usually not in code, because launch screens do not run your code at all. The launch screen is a static storyboard snapshot, so missing images almost always come down to asset configuration, layout, target settings, or simulator caching.

Remember What a Launch Screen Can and Cannot Do

A launch screen storyboard is not a normal view controller.

It can:

  • display static views and images
  • use Auto Layout
  • use asset catalog resources

It cannot:

  • execute custom code
  • fetch remote images
  • run animations the way your main app can
  • depend on runtime state

That means if you expected an image to appear because of code in viewDidLoad, it never will. Launch screen content must already be present in the storyboard and asset catalog.

Use an Asset Catalog Image

The safest setup is to add the image to Assets.xcassets and reference that asset from the UIImageView in the launch storyboard.

Things to verify:

  • the asset name matches exactly
  • the image asset is included in the app target
  • the launch storyboard's image view points to that asset, not to a runtime-only image

If you renamed the asset but did not update the storyboard, the image view can stay empty with no obvious compile-time error.

Check the Launch Screen Setting Itself

Make sure the app target is actually using the storyboard you edited.

In Xcode, confirm that the target's launch-screen setting points to the expected storyboard name. If the app is configured to use a different launch screen file, you may be fixing the wrong storyboard entirely.

This is a very common mistake in projects with multiple targets, renamed storyboards, or old template files left behind.

Auto Layout Often Explains "It Works on One Device"

The image may exist but be off-screen or collapsed to zero size because of constraints.

A minimal full-width image view setup looks like this conceptually:

  • pin leading and trailing constraints
  • pin top or center vertically depending on design
  • give the image view either explicit size or content-constrained sizing
  • ensure no conflicting constraints compress it away

Launch screens are especially sensitive to layout issues because you do not get the same interactive debugging loop as with ordinary views.

A Simple Storyboard-Friendly Pattern

For a centered logo, a reliable approach is:

  • one UIImageView
  • fixed width and height constraints
  • center horizontally and vertically
  • image from asset catalog
  • content mode set to aspect fit

That keeps the launch screen simple and predictable across devices.

If the image is large and intended as a background, use aspect fill carefully and test on several screen sizes to avoid unexpected cropping.

Cached Snapshots Can Mislead You

iOS and the simulator both cache launch behavior aggressively. Sometimes you fix the storyboard and still see the old screen.

Useful cleanup steps are:

  • clean the build folder
  • delete the app from the simulator or device
  • rerun the app
  • if needed, reset the simulator

This does not solve structural launch-screen bugs, but it does remove stale snapshots that make you think your change had no effect.

Keep the Launch Screen Static and Minimal

Because the launch screen is meant to visually bridge app startup, the best design is simple.

Avoid building a pseudo-splash-screen layout with lots of text, dynamic data, or conditional imagery. The closer the launch screen is to the first real screen of the app, the less noticeable the transition and the fewer surprises you will hit.

A centered brand mark plus background color is often enough.

Common Pitfalls

The biggest mistake is trying to use runtime logic to configure the launch screen. No controller code runs there.

Another mistake is referencing an image that is not in the asset catalog or not included in the app target.

A third issue is broken or ambiguous Auto Layout constraints that push the image off-screen or collapse its size.

Finally, cached simulator or device launch snapshots can make a fixed storyboard look still broken until the old app build is removed.

Summary

  • Launch screens are static storyboards and do not run app code.
  • Use images from the asset catalog and verify target membership.
  • Confirm the app target points to the launch storyboard you actually edited.
  • Check constraints if the image seems to work only on some devices.
  • Clear simulator or device caches when testing launch-screen changes.
  • Keep launch screens simple, static, and close in appearance to the app's first real UI.

Related reading
Free course
Beginner
7 lessons
2 hours
Tackling System Design Interview Problems

A short course that equips you with the skills to approach system design interviews methodically.

Start the free course
Track what you have practised

A free account saves your progress, solutions and study plan across every problem on Codemia.

Interview Questions practice on Codemia

Over 8,000 real interview questions from top companies, searchable by company and role.

Browse interview questions

All Rights Reserved.