1

我想知道 iOS 核心动画是如何工作的,如下代码,通过设置带有动画的新图像,它将表现良好。
如果我在动画块中设置按钮的位置,我可以理解动画是如何工作的 - 框架将根据按钮的原始位置和目标位置计算每个动画步骤的每个偏移量,然后为每个动画步骤更新它的帧。但是这个简单的逻辑肯定不适用于下面的情况。请高手帮我理解,谢谢!

[UIView transitionWithView:self.view
                  duration:0.35
                   options:UIViewAnimationOptionTransitionCrossDissolve
                animations:^{
                      [myButton setImage:[UIImage imageNamed:@"demo_button_view"] forState:UIControlStateNormal];
                      [myButton setImage:[UIImage imageNamed:@"demo_button_pressed_icon"] forState:UIControlStateHighlighted];
                }
4

1 回答 1

1

您不会像那样使用那些过渡设置。这些用于像 transitionFromView:toView:duration:options:completion 这样的方法:

至于它是如何在内部工作的,它为 2 个视图的 alpha 值设置动画,从 alpha 1.0 的开始视图和 alpha 为 0 的新视图开始,并以 alpha 为 0 的起始视图和新视图结束alpha 为 1。

看起来示例应用 PrefsInCloud 有一个使用 UIViewAnimationOptionTransitionCrossDissolve 过渡的示例。

于 2013-10-24T01:19:58.347 回答