Air bnb iOS アプリの開始時のアニメーションと非常によく似たアニメーションを作成しようとしています。
ここにアニメーションのビデオがあります:ビデオ
アイデアは、レイヤーがユーザーに非常に近いところから飛んで、遠くのサーフェスにくっつくのをシミュレートすることです。
の操作について話している記事をいくつか読んだことがlayer.transform.m34
ありますが、より役に立ったのはthis oneです。
遠近法と z 軸の平行移動を適用することで、レイヤーを大きく見せることができました。
使用したコードは次のとおりです。
CALayer *aLayer = [CALayer layer];
aLayer.frame = ...
aLayer.backgroundColor = ...
CATransform3D perspectiveTransform = CATransform3DIdentity;
perspectiveTransform.m34 = 1.0f/-250.0f;
perspectiveTransform.m44 = 0.0f;
perspectiveTransform = CATransform3DTranslate(perspectiveTransform, 0.0f, 0.0f. -100.0f);
aLayer.transform = perspectiveTransform;
問題は、アニメーションを元に戻すことができないことCATransform3DIdentity
です。私は CoreAnimation に慣れていないので、悪いアプローチを試みている可能性があります。誰かが私が間違っていることやより良い解決策を教えてくれれば、とても助かります。
前もって感謝します!