Not exactly sure what you mean but if you want you splash screen to fade off into your main view, you could set it up as a full screen view in your main view controller and then simply fade out the alpha on it to zero, so that you get a nice crossfade effect.
To do this, you could set up you main view, with the splash screen overlayed on top (so that it covers the main view until it fades out).
Then it's just a case of some simple fading using Core Animation:
Code:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0]; // this would cause the crossfade to take 1 second
[splashScreenView setAlpha:0.0];
[UIView commitAnimations];
Then you could stick this piece of code in the viewDidAppear method (but have a condition so that it only runs once per application launch).
You should perhaps also add the following 2 calls inside the animation block (before commitAnimations) to give yourself a chance to clear up memory afterwards:
Code:
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(splashScreenDidFadeOut)];
Code:
-(void) splashScreenDidFadeOut {
// insert code here to get a pointer to splash screen object or use instance variable
[splashScreenView removeFromSuperview];
}
If you want the splash screen to stay on screen a little longer, you could implement a timer to wait a little while (see Apple's documentation on NSTimer), or use the performSelectorAfterDelay: method to delay it.