如何暂停和恢复 UIDynamicAnimator 物理模拟

Posted

技术标签:

【中文标题】如何暂停和恢复 UIDynamicAnimator 物理模拟【英文标题】:How to pause and resume UIDynamicAnimator physics simulation 【发布时间】:2017-09-12 15:52:46 【问题描述】:

如何暂停和恢复 UIDynamicAnimator 的物理模拟?无法以编程方式暂停和恢复。当所有项目都处于静止状态时,会出现“暂停”状态,但我正在寻找不同的东西。例如,我想让一个项目被重力场拉动,然后按下暂停按钮暂停模拟,然后按下恢复按钮并恢复模拟,就好像什么都没发生一样。该项目保持其轨迹、速度等。

我的预感是我必须以某种方式保存项目的物理属性,删除动态行为,然后添加动态行为以模仿之前保存的物理属性。这是正确的方法吗?

【问题讨论】:

这就是我过去的做法,但这是不得已而为之,我觉得不合适。如果有人能对此有所了解,我会很感兴趣,因为我记得当时很生气! @Tyler,你有什么解决办法吗? @SunilTarge no. 【参考方案1】:

您只能通过使用 removeAllBehaviors() 删除所有行为来做到这一点。 要重新启动模拟,您必须添加每个行为

【讨论】:

以上是关于如何暂停和恢复 UIDynamicAnimator 物理模拟的主要内容,如果未能解决你的问题,请参考以下文章

如何暂停和恢复 GameLoop?

如何使用暂停和恢复创建 ProgressDialog

如何在 C# 中暂停和恢复音频

如何使用 threading 模块暂停和恢复线程?

Spotify - 如何暂停曲目和恢复曲目

如何在 iphone 中暂停和恢复 NSTimer