How can I display a splash screen for a longer per

2019-07-26 09:38发布

问题:

I have try so many way in display the splash screen for a longer period of time but i did't get perfect solution,please help me out.

回答1:

in AppDelegate.m file just define splashView as a UIImageView and then in didFinishLaunchingWithOptions method write this type of code...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    splashView = [[UIImageView alloc] initWithFrame:iphoneFrame];
    splashView.image = [UIImage imageNamed:@"yourImageName"];
    [self.window addSubview:splashView];
    [self performSelector:@selector(loadViewIphone) withObject:nil afterDelay:4.0];// define time which you want..
    [self.window makeKeyAndVisible];
    return YES;
}

and in loadViewIphone method just remove this splashView like bellow

-(void)loadViewIphone 
{
    [splashView removeFromSuperview];
    self.window.rootViewController = self.tabBarController;// or any viewontroller instead of tabbarController
    [self.window makeKeyAndVisible];

    // this bellow code is used for transactionaly swap splashscreen to our viewcontroller..
    CATransition *animation = [CATransition animation];
    [animation setDelegate:self];   
    [animation setType:kCATransitionFade];
    [animation setDuration:0.5];
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:
                                  kCAMediaTimingFunctionEaseInEaseOut]];
    [[self.window layer] addAnimation:animation forKey:@"transitionViewAnimation"];

}