两条 CGpaths - 1 CAAnimation - 但应该重复第二条路径

Posted

技术标签:

【中文标题】两条 CGpaths - 1 CAAnimation - 但应该重复第二条路径【英文标题】:Two CGpaths - 1 CAAnimation - but the second path should be repeated 【发布时间】:2013-01-25 09:56:01 【问题描述】:

如果我有一条从屏幕顶部开始并逐渐向下变成椭圆形的路径。我想一次在椭圆形的动画中不断重复椭圆形。如何使用 CAKeyframeAnimations 执行此操作?我有两个并延迟第二个吗?我是否要等待第一个完成然后添加第二个?还是有别的办法?

这是我的路径/s

//The oval shape
UIBezierPath *trackPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(20, 100, 280, 150)];

//the curve from the top of the screen easing into the oval.
[trackPath moveToPoint:P(160, -80)];
[trackPath addCurveToPoint:P(297, 192)
    controlPoint1:P(244, 30)
    controlPoint2:P(316, 145)];

【问题讨论】:

【参考方案1】:

所以我对自己说:“自我......看起来你将不得不自己回答这个问题,因为没有人愿意编辑它或说它是重复的......”

一个答案似乎是用第一条路径创建动画。当这个动画完成时,使用 CAAnimation 的委托方法知道这一点,然后使用新路径开始第二个动画。第二个当然会重复。

【讨论】:

以上是关于两条 CGpaths - 1 CAAnimation - 但应该重复第二条路径的主要内容,如果未能解决你的问题,请参考以下文章

两个 CGPaths / UIBeziers 之间的补间 / 插值

使用 CALayer 显示 CGPaths 会影响 iOS 中的性能吗?

带有 timeRange 的 CAAnimation - iOS

在uiview中缓存绘图

MATLAB中怎么求两条曲线的交点并标注

cad中怎么测量两条线间垂直距离