30 lines
660 B
Objective-C
30 lines
660 B
Objective-C
//
|
|
// CALayer+Animation.m
|
|
// YuMi
|
|
//
|
|
// Created by duoban on 2024/5/6.
|
|
//
|
|
|
|
#import "CALayer+Animation.h"
|
|
|
|
@implementation CALayer (Animation)
|
|
// 暂停动画
|
|
- (void)ms_pauseAnimate {
|
|
CFTimeInterval pausedTime = [self convertTime:CACurrentMediaTime() fromLayer:nil];
|
|
self.speed = 0.0;
|
|
self.timeOffset = pausedTime;
|
|
}
|
|
|
|
// 恢复动画
|
|
- (void)ms_resumeAnimate {
|
|
|
|
CFTimeInterval pausedTime = [self timeOffset];
|
|
self.speed = 1.0;
|
|
self.timeOffset = 0.0;
|
|
self.beginTime = 0.0;
|
|
CFTimeInterval timeSincePause = [self convertTime:CACurrentMediaTime() fromLayer:nil] - pausedTime;
|
|
self.beginTime = timeSincePause;
|
|
|
|
}
|
|
@end
|