gpt4 book ai didi

iphone - [UIView beginAnimations] 如何工作?

转载 作者:行者123 更新时间:2023-12-03 18:27:21 24 4
gpt4 key购买 nike

我想知道 Cocoa Touch 中的动画是如何工作的。例如:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];

view1.alpha = 1.0;
view2.frame.origin.x += 100;

[UIView commitAnimations];

UIView如何跟踪两个 View 属性的变化?

我怀疑使用了 KVO,但它真的观察到 beginAnimationscommitAnimations 调用之间每个 View 的变化吗?

任何见解将不胜感激!

最佳答案

简单的解释:

所有 View 的所有动画都在单个堆栈上处理,beginAnimations:context: 将在堆栈上推送新的事件 CAAnimationGroup,并且 commitAnimations code> 将弹出当前事件的动画组。

如果堆栈上有事件动画组,则可动画属性的所有 setter 将创建 CAAnimation 子类实例来处理该属性,然后添加到事件动画组。

弹出最后一个动画后,将重播该动画。

关于iphone - [UIView beginAnimations] 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1337288/

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