2011-09-12 17 views
8

Actualmente muestro un UIViewController modal en el estilo formSheet que se presentó con la animación vertical cover. Estoy tratando de presentar otro UIViewController modal de él, usando currentContext para el estilo de presentación y flipHorizontal para el estilo de animación. Funciona, pero hay un fondo blanco blanco sólido detrás de la tapa cuando ocurre. Cualquier consejo sobre cómo presentar con éxito otra hoja de formularios modal UIViewController utilizando el estilo flipHorizontal de un UIViewController modal preexistente en el estilo formSheet sería apreciado, por favor! Gracias CódigoPresente hoja modal ViewController utilizando flip horizontal

:

// Loading of first modalVC 
- (void)showModalVC { 

    Modal1VC *modal1VC = [[Modal1VC alloc] init]; 
    modal1VC.modalPresentationStyle = UIModalPresentationFormSheet; 
    modal1VC.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
    [self presentModalViewController:modal1VC animated:YES]; 
    [modal1VC release]; 

    modal1VC.view.superview.bounds = CGRectMake(0, 0, 400, 400); 
} 

// Loading of second modalVC in Modal1VC 
- (void)buttonTapped:(id)sender { 

    UIViewController *modal2VC = [[UIViewController alloc] init]; 
    modal2VC.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
    modal2VC.modalPresentationStyle = UIModalPresentationCurrentContext; 
    modal2VC.view.backgroundColor = [UIColor greenColor]; 
    [self presentModalViewController:modal2VC animated:YES]; 
    [modal2VC release]; 

    modal2VC.view.superview.bounds = CGRectMake(0, 0, 400, 400); 
} 
+0

Publica tu versión actual del código ... – Nekto

+0

mismo problema aquí! Pero @superjessi tiene razón en que el blanco es el color de la ventana. Si configuro clearColor, se convierte en BLACK :( –

Respuesta

0

que parecería ser una limitación de presentModalViewController:animated:.

En lugar de [self presentModalViewController:modal2VC animated:YES], puede obtener el efecto que desee con las animaciones de UIView. Tal vez algo como esto:

[UIView transitionWithView:self.view.window 
        duration:0.3 
        options:UIViewAnimationOptionTransitionFlipFromRight 
       animations:^{ 
    [self presentModalViewController:modal2VC animated:NO]; 
} completion:NULL]; 
+0

Lo siento, esto no funciona – CastToInteger

1

Parece que su transición está trabajando, pero el fondo blanco que aparece en la transición de la moneda es el problema?

Durante la transición flip, el fondo blanco que se muestra es en realidad el window. Puede cambiar el color que se muestra configurando la propiedad backgroundColor de window en el AppDelegate.

+0

Esto tampoco funciona – CastToInteger

4
UIViewController *presentingViewController = //allocate your VC 
[modalViewController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal]; 
UIViewController *modalViewController = //your modal VC 
[presentingViewController presentModalViewController:modalViewController animated:YES]; 

Esto es todo el código que necesita;)

Cuestiones relacionadas