gpt4 book ai didi

ios - CALayer - CABasicAnimation 不围绕中心/ anchor 缩放

转载 作者:IT王子 更新时间:2023-10-29 07:57:07 25 4
gpt4 key购买 nike

使用下面的代码,我一直试图让我的 CALayer 围绕它的中心缩放——但它按左/上 (0,0) 缩放。我看到了这个问题:Anchor Point in CALayer并尝试设置 anchorPoint - 但在我设置它之前它是 [.5, .5] 并且设置没有区别。还尝试设置 contentsGravity

设置是我有一个 CAShapeLayer 添加到 self.view.layer 我在里面做了一些绘图,然后添加了 CABasicAnimation。动画运行良好 - 但它向顶部/左侧缩放 - 而不是 View 的中心。

我已经对此进行了数小时的修改 - 它一定很简单,但我还是不明白。

shapeLayer.anchorPoint = CGPointMake(.5,.5);
shapeLayer.contentsGravity = @"center";

printf("anchorPoint %f %f\n", shapeLayer.anchorPoint.x, shapeLayer.anchorPoint.y);

CABasicAnimation *animation =
[CABasicAnimation animationWithKeyPath:@"transform.scale"];

animation.fromValue = [NSValue valueWithCATransform3D:CATransform3DIdentity];
animation.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1, 0.1, 1.0)];

[animation setDuration:1.0];
animation.fillMode=kCAFillModeForwards;
animation.removedOnCompletion=NO;
[shapeLayer addAnimation:animation forKey:@"zoom"];

最佳答案

你的层的 bounds 是什么?

我敢打赌它的大小为零;尝试将其大小设置为与您的形状大小相同。

CAShapeLayer 将形状绘制为一种叠加层,独立于 contents(以及 boundscontentsGravity等等),你会在普通的 CALayer 中使用。这可能有点令人困惑。

关于ios - CALayer - CABasicAnimation 不围绕中心/ anchor 缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11495956/

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