我正在尝试对一个UIView的帧更改进行动画处理,其中原点和大小都会发生变化。但是动画效果不够平滑,有一种弹跳的感觉。我正在使用以下代码进行操作:
[UIView
animateWithDuration:0.5
animations:^{
self.view.frame = newFrame;
}];
看起来大小会先快速变化,然后在动画的指定持续时间内,原点会发生变化,最终导致反弹效果。我该如何使其看起来更顺畅?
您可以尝试更改动画曲线,也许尝试使用线性曲线。
dispatch_async(dispatch_get_main_queue(), ^{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
self.view.frame = newFrame;
[UIView commitAnimations];
});
通过单独为每个子视图动态变换帧的方式进行动画处理,使其变得非常平滑。谢谢。