Implementing a splash screen in iOS

97.8k views Asked by At

I'm quite a newbie in Cocoa, Objective-C and iOS development.

I'd like to implement a View that is just a splash screen and only last for a short time before routing to the main view. Do you have any idea on how I should implement that ? Any tutorials or code samples ? I have some with multiple views, but none with a timer to redirect to another one after a few seconds like I want to do.

11

There are 11 answers

2
Espresso On BEST ANSWER

See App Launch (Default) Images under the iOS Application Programming Guide.

It should also be noted Apple advised NOT abusing the launch image as a splash screen. Apple HIG

0
Waqas Raja On

As @Espresso posted link, I just wants to explain it to you.

If you just place an image named Default.png inside your project then it will be used for splash screen. However you can use different image name by explicitly specifying it in plist file.

0
HaemEternal On

Having just had to fix this same problem myself, I thought I'd post an update.

I found that I had to set the Supported Interface Orientations in the Info.plist before it would work correctly.

I also found this article on iOSDeveloperTips.com to be pretty useful: Managing Multiple Launch Images

4
NightCoder On

You can easily implement your view on top of the main view but in your appDelegate. For example, if you want a splash image that fades out to the main view: (or a default image that seems to fade out: just put the same image on the splash screen and the default screen). This gives you also the right orientation as long as it is the main view's.

Just add it in your application:(UIApplication *)application didFinishLaunchingWithOptions: method:

 UIImageView*imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"your_default_image_or_another.png"]];
[[firstViewController view] addSubview:imageView];
[[firstViewController view] bringSubviewToFront:imageView];

// as usual
[self.window makeKeyAndVisible];

//now fade out splash image
[UIView transitionWithView:self.window duration:1.0f options:UIViewAnimationOptionTransitionNone animations:^(void){imageView.alpha=0.0f;} completion:^(BOOL finished){[imageView removeFromSuperview];}];
0
Hassan Kalhoro On

Best solution for implementing splash screen on Storyboard Xcode Version 12.5.1 (12E507) in 4 steps your splash screen is done enter image description here

1
AudioBubble On

To add splash screen just simply replace all the default images ([email protected],....) with your splash image with the same default name (for all hardware display type) . To increase the duration of your splash screen , in appDelegate method

didFinishLaunchingWithOptions 

just sleep the main thread for the duration you want as:

[NSThread SleepForTimeInterval:(Your time interval)];

you can also use sleep(time interval) in

didFinishLaunchingWithOptions

sleep(3);
1
Bharat On

I know I'm giving answer to almost one year old question, but it may help some one else-

I've just discovered that you can do this in XCode4! Which makes this a rather simple process now.

  1. Select your project in the navigation view
  2. under Targets select your application
  3. Select the Summary tab
  4. Scroll down and you'll see a place to add your splash images
  5. Right click on the boxes to Select File
0
nylund On

The other answers are good but I'd like to add that for iPhone apps your Default.png should be 320x480 and for retina displays you should add [email protected] 640x960.

0
Ashwin H On

To add splash screen first add that image in your project and then add the following code to your AppDelegate method in the didFinishLaunching method

[NSThread SleepForTimeInterval:(Time interval)];
0
Ashutosh On

You only have to add three images for iPhone, iPhone 5 and iPad named Default.png, [email protected] and [email protected]. Now the clarity of the images depends on the size you are taking. You should take the standard sizes.

1
Flaviu On

In XCode 4, you can click on the Project Name (the parent in the hierarchy on the left).

Then in the Summary tab, under iPhone and iPad you will be able to select the Launch images for each form the file system.