gpt4 book ai didi

ios - iOS 动画 block 如何工作?

转载 作者:可可西里 更新时间:2023-11-01 03:06:44 25 4
gpt4 key购买 nike

在 iOS 中,您可以 animate view objects使用动画 block :

[UIView animateWithDuration:1.0 animations:^{

firstView.alpha = 0.0;

secondView.alpha = 1.0;

}];

我们这里有一个代码块,它描述了在动画完成后 View 属性将最终显示的内容。

这是如何工作的?

如果这是使用某种声明性格式完成的,我可以理解(我认为),但从外观上看,动画 block 只是一段可能必须执行的常规代码,检查结果然后转码进入执行动画的实际较低级别图形代码。

该 block 是否实际执行(或以某种方式进行逆向工程),如果是,何时执行?

如果这段代码在动画开始之前执行,那么为什么对引用 View 属性的更改没有立即反射(reflect)出来?

如果我将代码放在不更改 View 属性但执行其他操作的代码块中,会发生什么情况?

最佳答案

是的, block 实际上被调用了——然后它立即改变了 View 的属性。 UIView 的属性 setter 负责查看该集是否在动画上下文中使用——如果是,它们会使用 CoreAnimation 和 CoreGraphics 计算动画帧等。

如果将非动画代码放入这些 block 中,则不会发生任何特殊情况——该 block 将立即执行。

关于ios - iOS 动画 block 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11467188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com