Tom*_*ing 3 iphone cocoa-touch core-animation objective-c uiview
我试图动画一个滑入视图的视图,一旦它碰到屏幕的一侧就弹跳.
我正在做的幻灯片的基本示例如下:
// 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];
Run Code Online (Sandbox Code Playgroud)
然后在didStopSelector中调用更多动画以产生反弹效果.问题是当多个视图被动画化时,弹跳变得不稳定,而且,不再反弹.
在我开始阅读Core Animation中如何做到这一点之前(我明白它有点困难)我想知道使用Core Animation而不是UIView动画是否真的有优势.如果没有,我可以采取哪些措施来提高性能?
使用核心动画(基于图层),您可以执行许多高级操作,例如3D动画(在3d空间中嵌入视图).
UiView动画虽然功能非常强大,但在你拥有大量动画之前不应该成为性能瓶颈.我只在你的代码中看到一个例子,它的持续时间非常短.实际上,您几乎可以立即设置帧属性(70 ms是14 fps).您应该根据开始,结束和整个距离的持续时间来考虑UIView动画 - 通常为0.2秒到几秒.它不是为了一个接一个地发射一个微动画而设计的.
| 归档时间: |
|
| 查看次数: |
5691 次 |
| 最近记录: |