gpt4 book ai didi

iphone - 如何进行抛物线转换?

转载 作者:行者123 更新时间:2023-12-03 18:40:39 25 4
gpt4 key购买 nike

我正在开发一个带有一些简单动画的 iPhone 应用程序。

我有一个想要翻译的 View ,但不是沿着一条线。我想用抛物线的方式翻译它。想象一下,我正在制作一辆沿着弯曲道路行驶的汽车的动画。

我知道我可以将变换正确设置为 CGAffineTransform 的实例

问题是,我不知道如何创建转换。我知道如何缩放、平移等,但如何进行抛物线平移?这可能吗?

最佳答案

要沿着平滑曲线制作动画,您需要使用 CAKeyframeAnimation。在 this answer我提供了组合动画的代码,该动画沿曲线移动 ImageView ,同时调整其大小并使其淡出。该代码的相关部分如下:

// Set up path movement
CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
pathAnimation.calculationMode = kCAAnimationPaced;
pathAnimation.fillMode = kCAFillModeForwards;
pathAnimation.removedOnCompletion = NO;

CGPoint endPoint = CGPointMake(480.0f - 30.0f, 40.0f);
CGMutablePathRef curvedPath = CGPathCreateMutable();
CGPathMoveToPoint(curvedPath, NULL, viewOrigin.x, viewOrigin.y);
CGPathAddCurveToPoint(curvedPath, NULL, endPoint.x, viewOrigin.y, endPoint.x, viewOrigin.y, endPoint.x, endPoint.y);
pathAnimation.path = curvedPath;
CGPathRelease(curvedPath);

这将创建一条具有两个控制点的曲线,一个位于 View 的原点,另一个位于显示屏的右上角(横向模式)。有关构建路径的更多信息,请参阅 Quartz 2D Programming GuideAnimation Types and Timing Programming Guide .

要使用此动画,您需要使用如下所示的内容将其添加到 View 的图层中:

[imageViewForAnimation.layer addAnimation:pathAnimation forKey:@"curveAnimation"];

关于iphone - 如何进行抛物线转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1886158/

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