Catransformlayerは暗黙のアニメーションをサポートしていませんか?
-
30-10-2019 - |
質問
これが私のアニメーションコードです:
CGFloat zDistance = 850;
CGFloat scaleFactor = BACK_COVER_WIDTH / self.transformLayer.bounds.size.width;
CATransform3D rotation = CATransform3DMakeRotation(M_PI, 0.0, 1.0, 0.0);
CATransform3D scale = CATransform3DMakeScale(scaleFactor, scaleFactor, 0.0);
CATransform3D transform = CATransform3DConcat(rotation, scale);
transform.m34 = 1.0 / -zDistance;
CGPoint location = CGPointMake(CGRectGetMidX(self.layer.frame), CGRectGetMidY(self.layer.frame));
[CATransaction begin];
[CATransaction setAnimationDuration:1.0];
self.transformLayer.transform = transform;
self.transformLayer.position = location;
[CATransaction commit];
self.transformLayer
aです CATransformLayer
2つのサブレーヤーがあり、1つは前面用、もう1つは背面用です(「フリップ」効果を作成しています)。ただし、このコードは、アニメーションなしで位置を設定し、変換するだけです。だから私はそうだと思った transform
暗黙のアニメーションをサポートしていないので、私はそれを取り出してポジションを設定しようとしましたが、それもアニメーション化しませんでした(そして、私は確かにそれを知っています position
暗黙のアニメーションをサポートします)。
私は何か間違ったことをしているのですか、それともそうしています CATransformLayer
暗黙のアニメーションをサポートしていませんか?ドキュメントでは、それをサポートしていないことについて何も言っていないので、私はそれがそうだと思います。
編集:これはiOSではなくMac OS X用です
正しい解決策はありません
所属していません StackOverflow