gpt4 book ai didi

ios - 我的 CALayer 变换在动画后保持不变,但透视消失了

转载 作者:可可西里 更新时间:2023-11-01 03:58:21 30 4
gpt4 key购买 nike

我有以下代码可以将 CALayer 在 Y 轴上旋转 -45 度:

#define D2R(x) (x * (M_PI/180.0))

- (void) swipe:(UISwipeGestureRecognizer *)recognizer
{
CATransform3D transform = CATransform3DMakeRotation(D2R(-45), 0, 1.0, 0);
transform.m34 = -1.0 / 850;

CABasicAnimation *transformAnimation = [CABasicAnimation animationWithKeyPath: @"transform"];
transformAnimation.fillMode = kCAFillModeForwards;
transformAnimation.removedOnCompletion = NO;
transformAnimation.toValue = [NSValue valueWithCATransform3D:transform];
transformAnimation.duration = 0.5;

[self.layer addAnimation:transformAnimation forKey:@"transform"];
}

动画有效,但它以没有透视结束 - 如果我理解正确,请忽略我的 m34 设置。

中途:

enter image description here

最后:

enter image description here

我做错了什么?

最佳答案

动画只影响动画期间 View 的外观。动画结束后它不会应用于 View 。你需要自己做。我猜想在添加动画后类似这样的东西会起作用:

self.layer.transform = transform;

您可以立即执行此操作,因为动画会隐藏它直到动画完成。

关于ios - 我的 CALayer 变换在动画后保持不变,但透视消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16113417/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com