Ios 围绕所有轴的CATTransferorM3D
我正在尝试创建一种“翻转”动画,将UIView绕每个轴旋转180度,但是,我无法获得所需的效果。以下是到目前为止我得到的信息:Ios 围绕所有轴的CATTransferorM3D,ios,uiview,core-animation,Ios,Uiview,Core Animation,我正在尝试创建一种“翻转”动画,将UIView绕每个轴旋转180度,但是,我无法获得所需的效果。以下是到目前为止我得到的信息: [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ CATransform3D tX= CATransform3DIdentity; tX.m34 = 1.0 / -500;
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
CATransform3D tX= CATransform3DIdentity;
tX.m34 = 1.0 / -500;
CATransform3D tY= CATransform3DIdentity;
tY.m34 = 1.0 / -500;
CATransform3D tZ= CATransform3DIdentity;
tZ.m34 = 1.0 / -500;
tX = CATransform3DRotate(tX, M_PI, 1.0f, 0.0f, 0.0f);
tY = CATransform3DRotate(tY, M_PI, 0.0f, 1.0f, 0.0f);
tZ = CATransform3DRotate(tZ, M_PI, 0.0f, 0.0f, 1.0f);
self.flipView.layer.transform = CATransform3DConcat(tX, CATransform3DConcat(tY, tZ));
}
但是,这似乎不会执行任何动画,好像它们正在相互抵消。看起来这应该是一个非常简单的任务,但我似乎不知道如何组合这3个动画条件中的每一个。非常感谢您的帮助!感谢围绕三个轴中的每一个旋转半圈(180°或π弧度),总共不会导致任何变化(三个旋转变换的串联会导致恒等变换)
试着只绕一个轴旋转,看看它能做什么。谢谢,这很有帮助。我想它会执行动画,即使终点与起点相同-但显然不是。我相当确定
UIView
动画,甚至可能CABasicAnimation
s会查看开始和结束状态,并根据这些状态确定要做什么。不过,很可能还有另一种动画机制,其工作原理与您所想的一样。