2011-01-18 7 views
4

誰でも、AppleがiBooksアプリで店にどのように移行したのか知っていますか?私は彼らがUIModalTransitionStyleFlipHorizo​​ntalトランジションスタイルを設定したモーダルビューコントローラを使用していることを知っていますが、トランジションを行うときに "ブックケース"の "深み"をどのように表示しているのか分かりません。iOS iBooksは店舗のアニメーションを好む

+0

私は彼らがこれをどのように行うのか知っています。私の最高の推測は、OpenGLが関わっていることです。 –

答えて

0

私はアニメーションは、このような何かを動作することを想定しています:

  1. A「スナップショット」の画像は 本棚の撮影と のCALayerの内容に設定されています。
  2. ブックシェルフビューは、スーパービューから削除された です。 本棚の画像と
  3. 新しく作成されたのCALayer(本棚 層)が作成され のUIView
  4. 別の層(サイド 層)既存 いくつかの層に添加(または新しく作成された)され、そして の画像は本棚の側面を としています。このレイヤーは UIViewに追加されます ブックシェルフレイヤーの右端に位置するサイドレイヤーです。
  5. サイドレイヤーの トランスフォームは、M_PI_2 radsをy軸の周りに回転するように設定されています。それ デバイス画面のアニメーションを有する
  6. 本棚及び側層 がY軸周りM_PI_2 回転にそれぞれ変換することをそれらに加えに垂直であるように、この は、本質的に、それが見えないことができます。このアニメーションの の結論では、 本棚は デバイスの画面に垂直になり、側面のレイヤー は完全に表示されます。
  7. 新しいレイヤー(ストアレイヤー)が作成され、そのストアのスナップショットイメージが新しいレイヤーのコンテンツとして追加されたときに、正しく表示されるように変換および配置されます。 。 。
  8. サイドレイヤーとストアレイヤーに、アニメーションが追加され、それぞれがM_PI_2回転でY軸を中心に変形します。
  9. すべてのレイヤーが削除され、ストアUIViewが表示されます。

私はiBooksアプリの内部知識は持っていませんが、このエフェクトを複製しようとしていた場合、これがどうなるのでしょうか。 FWIW、CALayersの配置と変形のハングアップを取得すると、このようなアニメーションを使いこなすのがちょっと楽しいです。