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"];
}