You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS Swift使用HeroTransition库实现动画时如何调整动画速度?

HeroTransition 动画速度调整方法

有三种常用的调整方式,可根据你的使用场景选择:

  • 全局修改所有转场动画的默认时长
    直接修改Hero库的全局默认动画时长即可,所有未单独配置的转场都会生效,单位为秒,库默认值为0.4秒:
Hero.shared.defaultAnimationDuration = 1.5 // 可自定义为你需要的时长
  • 针对当前转场单独设置时长
    你可以给参与转场的单个Hero视图单独指定时长,适合只需要调整某一个共享元素转场速度的场景,修改后的示例代码如下:
let vc = DODViewController.init(with: project , projectType: .doodle, needToMapFolderIndex: nil)
            
let heroId = "newcontentscanvas1"
cell.hero.id = heroId
cell.hero.duration = 1.0 // 自定义当前cell转场时长
vc.hero.isEnabled = true
vc.view.hero.id = heroId
vc.view.hero.duration = 1.0 // 与cell保持一致避免动画错位
self.present(vc, animated: true, completion: nil)
  • 自定义动画曲线搭配时长
    如果同时需要调整动画的快慢变化节奏,可以搭配时间曲线配置一起使用:
// 可选值还有.easeIn、.easeOut、.linear等,也可以自定义控制点
vc.view.hero.timingFunction = CAMediaTimingFunction(name: .easeInEaseOut)

内容的提问来源于stack exchange,提问作者isuru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 19:18:02