iOS iBooks любит магазин анимации - PullRequest
4 голосов
/ 18 января 2011

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

Ответы [ 2 ]

1 голос
/ 08 октября 2011

Я сам еще не пробовал, но эта ссылка, кажется, отвечает на ваш вопрос.

http://programmingdays.blogspot.com/2011/07/ibooks-flip-animation.html

0 голосов
/ 20 февраля 2011

Я предполагаю, что анимация работает примерно так:

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

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

...