私はこの素晴らしい効果を見てきました。現在設計しているアプリで同様のものを使用したいと考えています。これは「標準的な」トランジションの 1 つではないと思います。
そのようなことをどのように達成できるか知っている人はいますか? 私は実際には詳細なコードサンプルを求めているわけではなく、より高レベルの概要/正しい方向への微調整を求めています。
私はこの素晴らしい効果を見てきました。現在設計しているアプリで同様のものを使用したいと考えています。これは「標準的な」トランジションの 1 つではないと思います。
そのようなことをどのように達成できるか知っている人はいますか? 私は実際には詳細なコードサンプルを求めているわけではなく、より高レベルの概要/正しい方向への微調整を求めています。
私は次のようにします:
2 つのレイヤーを作成します。1 つは折り込みたいビューの左側用で、もう 1 つは右側用です。
これらのレイヤーで、ビューの左側または右側の画像をそれぞれレンダリングして折り込みます。ほとんどのrenderInContext:
場合、メソッドはこれを行う必要があります。
2 つのレイヤーの初期位置は、画面の左端 (x = 0.0) です。左レイヤーのアンカーポイントを (0.0, 0.5) に、右レイヤーのアンカーポイントを (1.0, 0.5) に設定します。また、y 軸を中心とした回転変換をレイヤーに割り当てる必要があります。左のレイヤーは -90 度、右のレイヤーは +90 度です (またはその逆かどうかはわかりません。試してみてください)。
ここで、ユーザーが折り畳みアクションをアクティブにすると、2 つのレイヤーの変換を恒等行列にリセットするアニメーションを開始します (またはジェスチャと一緒に進みます)。画面の左端にくっつかないように、右のレイヤーの位置も調整する必要があるでしょう。
アニメーション/ジェスチャーが完成したら、2 つのレイヤー (静止画像のみを含む) を、折り込みたい実際のビューに置き換えます。