Showing posts with label SplashView. Show all posts
Showing posts with label SplashView. Show all posts

Thursday, January 19, 2012

When app start up, use splashView with ActivityIndicatorView

Add SplashScreenVC class in the project.
Use the below code to replace the original code in yourAppDelegate.m:

- (void)applicationDidFinishLaunching:(UIApplication *)application

{
    SplashScreenVC *splashScreenVC = [[SplashScreenVC alloc] initWithNibName:@"SplashScreenVC" bundle:nil];
    self.window.rootViewController = splashScreenVC;
    [self.window makeKeyAndVisible];
}


In SplashScreenVC, import yourAppDelegate.h and add the below code:


-(void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];
    [self performSelector:@selector(gotoRootVC) withObject:nil afterDelay:1.0];
}

-(void)gotoRootVC
{
    
    SQLiteTutorialAppDelegate *delegate = (SQLiteTutorialAppDelegate *)[UIApplication sharedApplication].delegate;
    delegate.window.rootViewController = delegate.tabBarController;
    [delegate.window makeKeyAndVisible];
}

-(void)viewDidLoad
{

    CGRect r = [UIScreen mainScreen].applicationFrame;
    UIView *activityView = [[[UIView alloc] initWithFrame:r] autorelease];
    self.view = activityView;
    
    activityView.backgroundColor = [UIColor blackColor];
    activityView.alpha = 0.5;
    
    UIImageView *imgView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourImage.png"]] autorelease];
    [activityView addSubview:imgView];
    
    CGRect wheelR = CGRectMake(r.size.width / 2 - 12, r.size.height / 2 - 12, 24, 24);
    UIActivityIndicatorView *activityWheel = [[UIActivityIndicatorView alloc] initWithFrame:wheelR];
    activityWheel.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhite;
    activityWheel.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
                                      UIViewAutoresizingFlexibleRightMargin |
                                      UIViewAutoresizingFlexibleTopMargin |
                                      UIViewAutoresizingFlexibleBottomMargin);
    [activityWheel startAnimating];
    [activityView addSubview:activityWheel];
}