반응형
[ios/reference] Advanced Animation Tricks
-
Animation pause 를 위해서는 CAMediaTiming protocol 을 layer 에 전달하고, layer 의 animation speed 를 0.0 으로 설정하면 된다.
이 speed 값이 non zero 값이 될 때까지 animation 은 pause 된다.
ex)
-(void)pauseLayer:(CALayer*)layer{
CFTimeInterval pausedTime = [layer convertTime:CACurrentMediaTime() fromLayer:nil];
layer.speed = 0.0;
layer.timeOffset = pausedTime;
}
-(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;
}
반응형
'프로그래밍 놀이터 > iOS' 카테고리의 다른 글
[ios/tutorial] CABasicAnimation, CATransition, CAKeyframeAnimation, CALayer, CAAnimationGroup ( Core Animation ) (0) | 2017.12.01 |
---|---|
[ios/tutorial] Core Animation 모든 것!! (0) | 2017.11.30 |
[ios/tutorial] Implicit Animation (0) | 2017.11.28 |
[ios] Umbrella Framework? Umbrella Header? (0) | 2017.11.27 |
[ios/code snippet] Phone 인지 Pad 인지 검사하기 (0) | 2017.11.26 |
댓글