IOS 中動畫的暫停與繼續(xù)播放的詳解
更新時間:2017年09月12日 11:41:52 投稿:lqh
這篇文章主要介紹了IOS 中動畫的暫停與繼續(xù)播放的詳解的相關資料,希望通過本文大家能理解掌握這部分內容,需要的朋友可以參考下
IOS 中動畫的暫停與繼續(xù)播放的詳解
在使用動畫控制UI的時候,可能會碰到通過手勢或其他方式要進行暫停正在進行中的動畫,然后再繼續(xù)。如手指按下時,暫停動畫,手指離開時繼續(xù)動畫。
實現原理主要是通過UI的layer進行相關的控制。
暫停動畫:
- (void)pauselayer:(CALayer *)layer
{
CFTimeInterval pausedTime = [layer convertTime:CACurrentMediaTime() fromLayer:nil];
layer.speed = 0.0;
layer.timeOffset = pausedTime;
}
繼續(xù)動畫:
- (void)playlayer:(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;
}
使用示例:
// 暫停 [self pauselayer:self.label01.layer]; // 繼續(xù) [self playlayer:self.label01.layer];
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
iOS使用UICountingLabel實現數字變化的動畫效果
本文主要介紹了iOS使用UICountingLabel實現數字變化動畫效果的方法,具有一定的參考價值,下面跟著小編一起來看下吧2016-12-12
iOS中利用UIBezierPath + CAAnimation實現心跳動畫效果
這篇文章主要給大家介紹了關于iOS中利用UIBezierPath + CAAnimation實現心跳動畫效果的相關資料,文中通過示例代碼介紹的非常詳細,對大家的日常開發(fā)具有一定的參考學習,需要的朋友們下面隨著小編來一起學習學習吧。2017-10-10
iOS在頁面銷毀時如何優(yōu)雅的cancel網絡請求詳解
這篇文章主要給大家介紹了關于iOS在頁面銷毀時如何優(yōu)雅的cancel網絡請求的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-05-05

