here you add subiview as a tab, as shown below.
[window addSubview:tabBarController.view]
after adding loginview as below.
[self.window addSubview:self.loginNav.view]
and after that you add a screensaver as shown below.
splashView.image = [UIImage imageNamed:@"splashscreen.png"]; [window addSubview:splashView];
So, this is a problem that you saw more than a screen instead of a splashscreen.
use the following code ...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; splashView.image = [UIImage imageNamed:@"splashscreen.png"]; [window addSubview:splashView]; [window bringSubviewToFront:splashView]; [self performSelector:@selector(removeSplash) withObject:nil afterDelay:3.0]; [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; NSLog(@"Registering for remote notifications"); [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)]; return YES; }
and in the removeSplash method add this view as a removeSplash window as shown below.
-(void)removeSplash{ [splashView removeFromSuperView]; LoginViewController *vc = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; self.loginNav = [[UINavigationController alloc] initWithRootViewController:vc]; NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; if([userDefaults valueForKey:@"UserName"] &&[userDefaults valueForKey:@"Password"]) { vc.username=[userDefaults valueForKey:@"UserName"]; vc.password=[userDefaults valueForKey:@"Password"]; vc.autoLogin=YES; [vc loginSelectorMethod]; } else { [self.window addSubview:self.loginNav.view]; [self.window makeKeyAndVisible]; } }
source share