当前位置: 首页 > 编程笔记 >

IOS 中动画的暂停与继续播放的详解

卞嘉许
2023-03-14
本文向大家介绍IOS 中动画的暂停与继续播放的详解,包括了IOS 中动画的暂停与继续播放的详解的使用技巧和注意事项,需要的朋友参考一下

IOS 中动画的暂停与继续播放的详解

在使用动画控制UI的时候,可能会碰到通过手势或其他方式要进行暂停正在进行中的动画,然后再继续。如手指按下时,暂停动画,手指离开时继续动画。

实现原理主要是通过UI的layer进行相关的控制。

暂停动画:

- (void)pauselayer:(CALayer *)layer 
{ 
  CFTimeInterval pausedTime = [layer convertTime:CACurrentMediaTime() fromLayer:nil]; 
  layer.speed = 0.0; 
  layer.timeOffset = pausedTime; 
} 

继续动画:

- (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]; 
// 继续 
[self playlayer:self.label01.layer]; 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍使用纯CSS代码实现动画的暂停与播放相关面试题,主要包含被问及使用纯CSS代码实现动画的暂停与播放时的应答技巧和注意事项,需要的朋友参考一下 可以使用属性; :暂停动画的运行; :恢复动画的播放;如果是恢复一个状态为已暂停的动画,则是从动画暂停的地方开始进行播放。

  • ap.pauseBackgroundAudio(CALLBACK) 暂停播放音乐。 代码示例 <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> <style>.output{ display:block; max-width: 100%

  • 我制作了android应用程序,并将android studio连接到Firebase。我检索了音频,并按下播放和暂停按钮,播放按钮工作,但暂停功能不工作。如果我按下暂停按钮,则按钮播放双音频意味着覆盖的功能是工作,我的代码是:

  • 问题内容: 我正在尝试创建一个线程,该线程在后台执行操作。我需要能够在需要时有效地“暂停”并稍后再次“恢复”。另外,如果我“暂停”该线程时正在执行某项操作,则该线程应使调用线程等到完成其操作为止。 我对Python中的多线程技术还很陌生,所以我还没走那么远。 除了线程正在做某事时调用了pause之外,我几乎可以做的所有事情都让调用线程等待。 这是我要在代码中实现的目标的概述: 我想我基本上需要一种

  • 问题内容: 我的键盘包含用于执行各种非标准键盘任务的一行按钮。这些键包含诸如修改音量,播放或暂停以及跳过曲目等功能。如何使用Python模拟基本播放/暂停?顺便说一下,我在Windows上。 问题答案: 我会用pywin32。与安装捆绑在一起的是大量的API文档(通常放在。),它实际上包装了Win32库中的许多内容,该库用于Windows中的许多低级任务。 安装后,您可以使用keybd_event

  • 我试图实现一个播放/暂停按钮,用于连接到ARKit场景中节点的位置音频。我希望用户能够暂停音频,然后在以后的时间从暂停点恢复它。因此不好,因为这会在重新连接音频时将其重置到起始位置。 我能找到的唯一与SCNAudioPlayers相关联的暂停方法深藏在下面: 有人知道这能不能做到吗? 提前谢了。