Splash完成后更改ViewController

时间:2014-01-13 16:28:59

标签: ios objective-c uiviewcontroller uistoryboardsegue splash

我想在Splash完成时改变viewController;我有这个:

//Implementación de los métodos:
- (void) cargaImagenes{
    //Asginación de ficheros de imagen a las variables
    splash1 =[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Ejemplo1.jpg"]];
    splash2 =[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Ejemplo2.jpg"]];

    //Ocultamos las imágenes
    splash1.alpha = 0.0;
    splash2.alpha = 0.0;
    //Las ponemos como subvistas a la vista principal del ViewController
    [self.view addSubview:splash1];
    [self.view addSubview:splash2];

    // Presentación mediante animación del primer splash.
    //Dos bloques de código: 1.- Tipo de animación del splash1. 2.- Se ejecuta un timer con un segundo de duración, que cuando termina, se ejecuta el metodo showSecondSplash.
    [UIView animateWithDuration:0.5 animations:^{
        splash1.alpha = 1.0;
    } completion:^(BOOL finished){
        [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(showSecondSplash:) userInfo:nil repeats: NO];
    }];

}

-(void) showSecondSplash:(NSTimer *) timer{
    //Ocultamos el primer splash, mostramos el segundo splash y programamos un timer para que se oculte el segundo y comience la aplicacion.
    [UIView animateWithDuration:0.5 animations:^{
        splash1.alpha = 0.0;
        splash2.alpha=1.0;
    } completion:^(BOOL finished){
        [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(finishSplash:) userInfo:nil repeats:NO];
    }];
}
-(void) finishSplash:(NSTimer *) timer {
    //Ocultamos el segundo splash
    //Eliminamos ambos splash de la vista
    [UIView animateWithDuration:0.5 animations:^{
        splash2.alpha = 0.0;
    } completion:^(BOOL finished){
        [splash1 removeFromSuperview];
        [splash2 removeFromSuperview];
    }];

}

我希望当它完成时我的故事板中出现了NavigationViewController,这个使用Splash的View Controller是初始视图,然后是带有tableViewController的NavigationViewController。 从该视图到NavigationViewController都有一个带模态样式的segue。 怎么样?感谢。

1 个答案:

答案 0 :(得分:1)

也许我明白你的问题不太清楚......

这是你要找的吗?

-(void) finishSplash:(NSTimer *) timer {
    //Ocultamos el segundo splash
    //Eliminamos ambos splash de la vista
    [UIView animateWithDuration:0.5 animations:^{
        splash2.alpha = 0.0;
    } completion:^(BOOL finished){
        [splash1 removeFromSuperview];
        [splash2 removeFromSuperview];
        [self performSegueWithIdentifier:@"YourSegueIdentifier" sender:self];
    }];

}