// Make this interesting.
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:2.0];
[UIView setAnimationTransition:UIViewAnimationTransitionNone forView:self.view cache:YES];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(startupAnimationDone:finished:context:)];
self.view.alpha = 0.0;
self.view.frame = CGRectMake(self.view.center.x,self.view.center.y , 0, 0);
[UIView commitAnimations];
}
Надеюсь, это каркас для лучшей анимации. Это не гарантировано, но это лучшее, что я мог придумать для первой части перехода.
Это изменит кадр вида вашего контроллера представления так, чтобы он «засасывал» себя в центр экрана, который имеет естественный черный цвет. Теперь, когда я думаю об этом, CGAffineTransform был бы намного проще ...
EDIT (ради педантизма): начиная с iOS 4, теперь вы можете использовать более новые и намного более синтаксически чистые блоки анимации и приятное преобразование:
[UIView animateWithDuration:0.25 delay:0.0 options:0 animations:^{
//animate the toolbars in from the top and bottom
[myTopView setFrame:CGRectMake(0, self.view.frame.size.height - 44, self.view.frame.size.width, 44)];
[myBottomView setFrame:CGRectMake(0, 0, self.view.frame.size.width, 44)];
//fade to black...
self.view.alpha = 0.0;
//and suck inwards.
self.view.frame = CGRectMake(self.view.center.x,self.view.center.y , 0, 0);
}
completion:^{
//do something to end nicely, or start another animation block.
}];