2011-01-18 3 views
4

Кто-нибудь знает, как Apple делает переход в магазин в приложении iBooks? Я знаю, что они используют Modal View Controller с установленным стилем UIModalTransitionStyleFlipHorizontal transition, но я не вижу, как они показывают «глубину» «книжного шкафа», когда они делают переход.iOS iBooks нравится анимация магазина

+0

Я хотел бы знать, как они делают это слишком. Мое лучшее предположение - это что-то вроде OpenGL. –

ответ

0

Я предположив, что анимация что-то вроде это работает:

  1. «снимок» изображение A берется из книжной полки и установить на содержание CALayer.
  2. Вид на книжную полку снят со своего наблюдения.
  3. Вновь созданный CALayer (книжная полка слой) с изображением книжной полки добавляется к слою некоторые существующие (или вновь созданные) UIView
  4. Другой слой (сторона слой) создается и изображение сторона книжной полки используется как его содержимое. Этот слой добавляется к UIView. Боковым слоем является , расположенный на правом краю слоя книжной полки .
  5. Преобразование бокового слоя предназначено для его вращения. M_PI_2 Рады вокруг оси y. Это, по существу делает его невидимым, как это перпендикулярно к устройству экрана
  6. книжной полки и боковые слои имеют анимацию к ним добавляют, что преобразует каждый с M_PI_2 вращения вокруг оси у. На завершении этой анимации книжная полка будет перпендикулярна , экран устройства и боковой слой будут полностью отображаться.
  7. Создан новый слой (уровень хранилища), и в качестве содержимого нового слоя добавляется снимок изображения магазина, он преобразуется и позиционируется так, что он будет отображаться правильно, когда. , ,
  8. На уровне слоя и хранилища добавлена ​​анимация, которая преобразует каждый с вращением M_PI_2 вокруг оси y.
  9. Все слои удалены и отображается UIView магазина.

У меня нет каких-либо знаний о приложении iBooks, но если бы я пытался дублировать этот эффект, я бы так поступил. FWIW, как только вы получите возможность позиционировать и трансформировать CALayers, его любопытное удовольствие повеселиться с такими анимациями.

Смежные вопросы