前言:在App程序开发中,优美的界面交互能够大大提高用户体验。
UIView动画:
属性动画:
```
[UIView beginAnimations:@"test" context:nil];
[UIView setAnimationDelay:1.0];
[UIView setAnimationDuration:1.0];
[UIView setAnimationRepeatCount:MAXFLOAT];
[UIView setAnimationRepeatAutoreverses:YES];//是否执行相反的动画
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];//设置动画变化的曲线
//UIViewAnimationCurveEaseInOut:这种曲线的动画开始缓慢,在其持续时间的中间加速,然后在完成 之前再次减慢,这是大多数动画的默认曲线
//UIViewAnimationCurveEaseIn:动画开始时缓慢,然后加速,直到动画结束
//UIViewAnimationCurveEaseOut:动画开始时速度很快,在结束前开始减速
//UIViewAnimationCurveLinear:在动画持续时间内,动画匀速运行
// [UIView setAnimationBeginsFromCurrentState:YES];//设置是否从当前状态开始播放动画: 假设上一个动画正在播放,且尚未播放完毕,我们将要进行一个新的动画,当为YES时,动画将从上一个动画 所在的状态开始播放,当为NO时,动画将从上一个动画所指定的最终状态开始播放(此时上一个动画马上结束)
[UIView setAnimationsEnabled:YES];//是否禁用动画效果 (对象属性依然会改变,只是没有动画效果)
UIView *view = self.blueView;
view.alpha = 0.5;
view.center = CGPointMake(self.blueView.center.x + 100, view.center.y);
[UIView setAnimationDelegate:self];
[UIView setAnimationWillStartSelector:@selector(startPropertiesAnimation)];//必须设置代理
[UIView setAnimationDidStopSelector:@selector(stopPropertiesAnimation)];
/*
第一个参数:UIViewAnimationTransitionNone,不使用动画
UIViewAnimationTransitionFlipFromLeft,从左向右旋转翻页
UIViewAnimationTransitionFlipFromRight,从右向左旋转翻页
UIViewAnimationTransitionCurlUp,从下往上卷曲翻页
UIViewAnimationTransitionCurlDown,从上往下卷曲翻页
第二个参数:需要过渡效果的UIView
第三个参数:是否使用视图缓存, YES:视图在开始和结束时渲染一次;NO :视图在每一帧都渲染
*/
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.blueView cache:YES];
[UIView commitAnimations];
```