gpt4 book ai didi

objective-c - UIView动画VS核心动画

转载 作者:搜寻专家 更新时间:2023-10-30 20:01:53 24 4
gpt4 key购买 nike

我正在尝试为一个 View 设置动画,该 View 滑入 View 并在它到达屏幕一侧时弹跳。

我正在做的幻灯片的基本示例如下:

// The view is added with a rect making it off screen.
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.07];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[theView setFrame:CGRectMake(-5, 0, theView.frame.size.width, theView.frame.size.height)];
[UIView commitAnimations];

然后在 didStopSelector 中调用更多动画来制作弹跳效果。问题是当不止一个 View 被动画化时,弹跳变得不稳定并且不再弹跳了。

在我开始阅读如何在 Core Animation 中执行此操作之前,(我知道这有点困难)我想知道使用 Core Animation 而不是 UIView 动画是否真的有优势。如果没有,我可以做些什么来提高性能吗?

最佳答案

使用 Core Animation(基于图层),您可以做很多高级的事情,例如 3d 动画(将您的 View 嵌入 3d 空间)。

UiView 动画虽然非常强大,但在拥有大量动画之前不应成为性能瓶颈。我在你的代码中只看到一个例子,而且它的持续时间非常短。事实上,您几乎是立即设置帧属性(70 毫秒是 14 fps)。您应该从开始、结束和整个距离的持续时间来考虑 UIView 动画——通常是 0.2 秒到几秒。它不是为了一个接一个地触发一个微动画而设计的。

关于objective-c - UIView动画VS核心动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2959559/

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