如何在ios中运用core animation暂停和继续动画

2025-05-15 11:51:11
推荐回答(1个)
回答1:

如何在ios中运用core
animation暂停和继续动画

核心代码如下

//暂停layer上面的动画
-
(void)pauseLayer:(CALayer*)layer
{
CFTimeInterval pausedTime = [layer
convertTime:CACurrentMediaTime() fromLayer:nil];
layer.speed = 0.0;

layer.timeOffset = pausedTime;
}

//继续layer上面的动画
-
(void)resumeLayer:(CALayer*)layer
{
CFTimeInterval pausedTime = [layer
timeOffset];
layer.speed = 1.0;
layer.timeOffset = 0.0;

layer.beginTime = 0.0;
CFTimeInterval timeSincePause = [layer
convertTime:CACurrentMediaTime() fromLayer:nil] - pausedTime;

layer.beginTime = timeSincePause;
}

转载,仅供参考