gpt4 book ai didi

ios - C4Shape,setFrame不改变形状的大小(C4Framework)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:38 26 4
gpt4 key购买 nike

我正在玩 C4,似乎无法弄清楚为什么我的形状没有动画。如果我创建这样的形状:

self.theShape = [C4Shape ellipse:CGRectMake(100, 100, 2, 2)];

...然后调用

[theShape setFrame:CGRectMake(200, 200, 50,50)];

形状不会改变大小。实现表明它应该,但我没有看到它。我做错了什么吗?是因为我没有更新 Canvas 吗?

最佳答案

在 C4 中,对 C4Shape 对象调用 setFrame: 不会对其进行缩放。

原因是改变 CAShapeLayer View 的框架不会改变底层贝塞尔曲线本身……不像在图像上调用相同的东西。 UIKit 会缩放图像和其他内容,但不会缩放贝塞尔曲线(据我所知)...

所以,如果它是一个矩形,调用:

[theShape rect:aNewFrame]

或者如果它是一个椭圆,调用:

[theShape ellipse:aNewFrame]

这种方法构造一个新形状,然后利用核心动画功能隐式地为旧形状路径和新形状路径之间的过渡设置动画。

关于ios - C4Shape,setFrame不改变形状的大小(C4Framework),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10253270/

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