我有一个 UIView
我正在尝试动画向下翻转,同时它的轴位于 View 的底部。例如:
为此,我尝试使用 UIView 动画:
[UIView animateWithDuration:3 delay:0 options:UIViewAnimationCurveEaseOut animations:^{
// Flip Down
top3.layer.anchorPoint = CGPointMake(0.5, 1.0);
top3.layer.transform = CATransform3DMakeRotation(M_PI, 1, 0, 0);
} completion:^(BOOL finished) {
// Reset?
//top3.transform = CGAffineTransformMakeScale(1, 1);
}];
现在它没有按我想要的方式工作,看起来 View 动画远离用户而不是朝向用户。它似乎没有提供 3D 效果,使其在向下旋转时看起来更接近用户,如我的图像所示。我很肯定这是因为我不了解如何使用 CATransform3DMakeRotation
。
问题:
anchorPoint
时,它会向下移动我的 View ,我怎样才能防止这种情况并仍然设置我的 anchorPoint
?UIView
动画,我可以使用缓动设置吗?UIViewAnimationCurveEaseOut
。transform
需要设置 m34
元素,如 here 所述.anchorPoint
移动 View 层,您需要更改 View 的原始位置。UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionAllowUserInteraction
.关于iOS UIView 动画 CATransform3DMakeRotation 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8494184/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |