Отредактировано: добавлена еще одна опция с защитой контроллера для iOS 5 и более поздних версий.
Другое решение - установить временное пространство слоя.
Это делается через свойство скорости CALayer. Чтобы замедлить анимацию, можно использовать:
MytransparentVCViewController *vc = [[MytransparentVCViewController alloc] initWithNibName:@"MytransparentVCViewController" bundle:nil];
// Makes all animations 10 times slower
// To speed it up, set it to multiples of 1: 2 is 2 times faster, 3 is 3 times faster etc
vc.view.layer.speed = 0.1;
[self presentModalViewController:vc animated:YES];
Обратите внимание, что предлагаемое решение в связанном посте не будет работать, если ваша цель - изменить скорость анимации контроллера модального представления, который вы собираетесь представить (например, если вы используете UIModalTransitionStyleCoverVertical).
Скорость слоя - это не абсолютное значение, а функция родительского временного пространства этого слоя (если, конечно, слой не находится в корне иерархии слоев). Например, если вы установите скорость слоя равной 2, его анимация будет выполняться в два раза быстрее по сравнению с анимацией родительского слоя.
Еще одним вариантом является использование содержимого контроллера представления. (только iOS 5 и более поздние версии)
http://developer.apple.com/library/ios/DOCUMENTATION/UIKit/Reference/UIViewController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006926-CH3-SW81.
У вас есть полный контроль над анимацией с помощью transitionFromViewController от UIViewController: toViewController: продолжительность: опции: анимации: завершение:.