Основной способ анимировать представления на iphone - использовать вызовы UIView beginAnimations и commitAnimations. Они позволяют изменять анимируемые свойства представления и анимировать эти изменения.
Например, у меня есть пользовательское представление, которое скрыто и показано с использованием этого подхода:
- (void) showAView:(CustomAView *)aView
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
aView.frame = CGRectMake(0.0f, 110.0f , aView.frame.size.width, aView.frame.size.height);
[UIView commitAnimations];
}
- (void) hideAView:(CustomAView *)aView
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
aView.frame = CGRectMake(0.0f, self.view.frame.size.height, aView.frame.size.width, aView.frame.size.height);
[UIView commitAnimations];
}
Оборачивая изменение свойства фрейма в UIView beginAnimations / commitAnimations, к изменению применяется стандартная анимация.
Вы можете добавить дополнительные свойства к анимации, используя методы класса анимации UIView, например.
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];