• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 隐藏 View 时动画是否使用果汁?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 05:36:59 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有这个小 View V

v: UICrazyView

它有各种各样的动画,经常运行,并且遵循各种烦人的状态和输入。

现在最重要的是,有时整个事情只是隐藏起来

var slideAwaySomePanel: Bool {
  didSet {
    .. do many other things
    v.isHidden = slideAwaySomePanel
  }
}

它可能会被隐藏一分钟、一个小时、永远或永远不会。

我想到了,当 V 被隐藏时……动画还在运行吗?

他们仍然使用大量电池/性能吗?

我正要覆盖 isHidden 并开始编写一大堆脆弱的 PITA 代码,当 isHidden 被切换时,它们会知道该怎么做,但这可能毫无意义。

我想知道

  1. 当您isHidden 时,是否对正在进行的动画进行所有计算(甚至绘图?)继续?你还在用电池吗?我们是否应该在 isHidden 期间小心地停止一切以节省电池/性能。或者,isHidden 是否会停止一切?还是它仍然在做计时器和曲线,但在绘图上不浪费任何力量?

  2. 当你进入 isHidden 时,所有的计时器等是否真的“暂停”?如果你有一个无休止的重复动画,或者,一个 10 秒的淡入淡出等,它是否“保持”在一个确切的位置,并在你没有 isHidden 时继续?或者会发生什么?

简而言之,当 isHidden 生效时,我们是否应该小心而乏味地停止手动动画?还是没有意义?

(在我看来,这很像在 cg 中,当对象被遮挡或超出截锥体时,您要么有动画或其他物理,要么没有动画。因此,游戏引擎只需切换到确切地决定这种行为“当我离开屏幕时是否继续?”)



Best Answer-推荐答案


我很确定,即使我没有引用,隐藏 View 也没有动画,因为核心动画在性能方面非常有效地实现。

核心动画层和动画有自己的时钟。 The animation state is calculated from this time .当 View 不可见时,时钟继续运行。由于隐藏 View 不会破坏图层和动画对象,因此动画重新出现后的状态与未隐藏 View 时的状态完全相同。

苹果给 some nice examples如何修改某些用例的动画时间。

关于ios - 隐藏 View 时动画是否使用果汁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57560537/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap