views:

400

answers:

3

I have some pretty standard flipping action going on:

[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]; 

To Apple's credit, this style of animation is amazingly easy to work with. Very cool, and I've been able to animate transitions, flips, fades etc. throughout the app very easily.

Question: During the flip transition, the background visible 'behind' the two views during the flip is white and I'd like it to be black. I've:

  • Set the background of the containing view (self.view above) - no dice. I really thought that would work.
  • Set the background of each view to black - no dice. I didn't think this would work although you give different things a shot to understand better :)
  • Google'd like crazy; keep landing on Safari-related listings.

Thanks in advance!

+3  A: 

You could use a color or an image. You have to set it on the application window. But the window doesn't have a background color property. So you have to add a view to do it:

UIWindow *window = [appDelegate window];
UIView *bgView = [[UIView alloc] init];
[bgView setBackgroundColor:[UIColor blackColor]];
[window addSubView:bgView];
Mike
I'm partially wrong. Digging in to xcode, there actually is a backgroundColor property on UIWindow. You can skip the UIView step. Just do [[appDelegate window] setBackgroundColor:[UIColor blackColor]];
Mike
Or just do it in ApplicationDidFinishLanuching: with a simple window.backgroundColor = [UIColor blackColor];
Brad Smith
Thanks guys, Brad's suggestion did the trick!
Rob S.
A: 

Thanks brad. It helped me.

Krishnan
+1  A: 

You can also set the background color on the Window in MainWindow.xib in IB if that's easier.

johna