CAAnimation - 显示/隐藏持续时间为 0
Posted
技术标签:
【中文标题】CAAnimation - 显示/隐藏持续时间为 0【英文标题】:CAAnimation - Show/Hide with duration of 0 【发布时间】:2017-02-14 16:22:50 【问题描述】:我使用CAAnimation
为图层设置动画,然后使用AVExportSession
将它们叠加在视频上。
我试图通过将持续时间设置为 0 来使图层立即出现/消失。但是,0.25f
似乎有一个最小值,因此,像不透明度这样的动画属性有一个过渡。
是否可以使用CAAnimation
实现CALayer
的即时显示/隐藏?
【问题讨论】:
尝试将其设置为一个小的非零值。如果您将其保留为 0,它将继承其所在事务的持续时间。 虽然 hacky 但 dan 的建议是实现它的唯一方法...... 【参考方案1】:我建议你在这里快速浏览一下核心动画编程指南 - Animation_Types_Timing
您还可以尝试 dan 建议的非零值作为快速破解。
我希望这可能会让你走上正轨。
【讨论】:
所以@dan 方法效果很好。问题是,如果我想让字幕在视频的开头可见(beginTime = AVCoreAnimationBeginTimeAtZero),会有一个非常快的闪光。我可以将beginTime设置为负数,导出看起来不错,但是在播放器里还是有flash。以上是关于CAAnimation - 显示/隐藏持续时间为 0的主要内容,如果未能解决你的问题,请参考以下文章