Я делал подобные переходы раньше. По сути, у меня есть большое представление, которое занимает экран, с другим представлением (фактическим содержимым экрана), встроенным в него. Когда я захочу перейти на новую страницу слева или справа, я возьму следующую страницу контента, переместу ее за экран и вставлю в большой вид сзади. Затем я просто анимирую (используя простой [UIView beginAnimations:context:]
для одновременного изменения фреймов обеих страниц (на самом деле просто меняя источники фреймов). Внеэкранный вид перемещается туда, где находится текущий вид, а текущий вид - за кадром. После удаления я удалю его из суперпредставления. Работает как шарм.