CATransaction:如何取消?

Posted

技术标签:

【中文标题】CATransaction:如何取消?【英文标题】:CATransaction : How to Cancel? 【发布时间】:2018-04-08 15:52:06 【问题描述】:

我在 CALayer 上有以下交易:

CATransaction.begin()
CATransaction.setAnimationDuration(2)
 self.myLayer.opacity = 1
CATransaction.commit()

由于交易持续了两秒钟,有时我不得不取消/暂停。这可能吗?

【问题讨论】:

【参考方案1】:

添加这行代码-

CATransaction.setDisableActions(true)

您可以通过将transaction’s CATransactionDisableActions 的值设置为true 来在更改图层属性值时暂时禁用图层操作

【讨论】:

我实际上并没有取消已经运行的动画。 @kelin 我尝试使用上述方法取消,但它不会取消它。你能告诉我它的用途吗? @Sudhirkumar,不,我不能,我和你有同样的问题:-D

以上是关于CATransaction:如何取消?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 CATransaction 无限重复? - 斯威夫特

如何使用 CATransaction 为 CALayer 的出现设置动画?

CATransaction 完成块永远不会触发

CATransaction 动画问题

CATransaction 完成块成功或失败

CATransaction 和 CAAnimation 有啥区别?