菜鸟教程小白 发表于 2022-12-13 05:36:59

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


                                            <p><p>我有这个小 View V</p>

<pre><code>v: UICrazyView
</code></pre>

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

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

<pre><code>var slideAwaySomePanel: Bool {
didSet {
    .. do many other things
    v.isHidden = slideAwaySomePanel
}
}
</code></pre>

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

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

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

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

<p>我想知道</p>

<ol>
<li><p>当您<code>isHidden</code> 时,是否对正在进行的动画进行所有计算(甚至绘图?)<strong><em>继续</em></strong>?你还在用电池吗?我们是否应该在 <code>isHidden</code> 期间小心地停止一切以节省电池/性能。或者,isHidden 是否会停止一切?还是它仍然在做计时器和曲线,但在绘图上不浪费任何力量?</p></li>
<li><p>当你进入 isHidden 时,所有的计时器等是否真的<strong>“暂停”</strong>?如果你有一个无休止的重复动画,或者,一个 10 秒的淡入淡出等,它是否“保持”在一个确切的位置,并在你没有 isHidden 时继续?或者会发生什么?</p></li>
</ol>

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

<p>(在我看来,这很像在 cg 中,当对象被遮挡或超出截锥体时,您要么有动画或其他物理,要么没有动画。因此,游戏引擎只需切换到确切地决定这种行为“当我离开屏幕时是否继续?”)</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我很确定,即使我没有引用,隐藏 View 也没有动画,因为核心动画在性能方面非常有效地实现。 </p>

<p>核心动画层和动画有自己的时钟。 <a href="https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CoreAnimation_guide/AdvancedAnimationTricks/AdvancedAnimationTricks.html#//apple_ref/doc/uid/TP40004514-CH8-SW2" rel="noreferrer noopener nofollow">The animation state is calculated from this time</a> .当 View 不可见时,时钟继续运行。由于隐藏 View 不会破坏图层和动画对象,因此动画重新出现后的状态与未隐藏 View 时的状态完全相同。</p>

<p>苹果给 <a href="https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CoreAnimation_guide/AdvancedAnimationTricks/AdvancedAnimationTricks.html#//apple_ref/doc/uid/TP40004514-CH8-SW15" rel="noreferrer noopener nofollow">some nice examples</a>如何修改某些用例的动画时间。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 隐藏 View 时动画是否使用果汁?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/57560537/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/57560537/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 隐藏 View 时动画是否使用果汁?