2010-05-24 6 views
14

tengo alguna acción de volteo bastante estándar pasando:¿Cómo controlo el color de fondo durante la transición de animación de la vista invertida del iPhone?

[UIView beginAnimations:@"swapScreens" context:nil]; 
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES]; 
[UIView setAnimationDuration:1.0]; 
[self.view exchangeSubviewAtIndex:0 withSubviewAtIndex:1]; 
[UIView commitAnimations]; 

A favor de Apple, este estilo de animación es increíblemente fácil trabajar con él. Muy genial, y he podido animar transiciones, volteretas, fundidos, etc. a través de la aplicación muy fácilmente.

Pregunta: Durante la transición de volteo, el fondo visible 'detrás' de las dos vistas durante el volteo es blanco y me gustaría que fuera negro. Tengo:

  • Establezca el fondo de la vista que contiene (self.view arriba) - sin dados. Realmente pensé que eso funcionaría.
  • Establezca el fondo de cada vista en negro, sin dados. No pensé que esto funcionaría aunque le daría una oportunidad a diferentes cosas para entender mejor :)
  • A Google le gustó la locura; sigue aterrizando en listados relacionados con Safari.

¡Gracias de antemano!

Respuesta

18

Puede usar un color o una imagen. Puede agregar a fin de hacerlo:

UIWindow *window = [appDelegate window]; 
UIView *bgView = [[UIView alloc] init]; 
[bgView setBackgroundColor:[UIColor blackColor]]; 
[window addSubView:bgView]; 

o establecer el color de fondo en la ventana directamente:

[[appDelegate window] setBackgroundColor:[UIColor blackColor]]; 
+7

Estoy parcialmente equivocado. Al profundizar en xcode, en realidad hay una propiedad backgroundColor en UIWindow. Puede omitir el paso UIView. Solo haga [[ventana de aplicaciónDeDepósito] setBackgroundColor: [UIColor blackColor]]; – Mike

+12

O simplemente hazlo en ApplicationDidFinishLanuching: con un simple window.backgroundColor = [UIColor blackColor]; –

+0

¡Gracias a todos, la sugerencia de Brad hizo el truco! –

5

También puede configurar el color de fondo en la ventana de MainWindow.xib en IB si eso es más fácil.

Cuestiones relacionadas