iOS 模仿系统的抖动动画
来源:互联网 发布:用友初始化数据库 编辑:程序博客网 时间:2024/04/29 09:01
模仿系统的抖动动画,主要用的是CAKeyframeAnimation(见之前篇博文)和NSTimer,不多说直接上代码。
#define degreesToRadians(x) (M_PI*(x)/180.0)//左右摇摆的角度#define RADIUS 3.0f#define ShakeTime 0.5//动画实现-(void)ShakeAnimationWithView:(id)sender{ CAKeyframeAnimation *keyAn = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation.z"]; [keyAn setDuration:ShakeTime]; NSArray *array = [[NSArray alloc] initWithObjects: [NSNumber numberWithFloat:degreesToRadians(0.0f)], [NSNumber numberWithFloat:degreesToRadians(-RADIUS)], [NSNumber numberWithFloat:degreesToRadians(0.0f)], [NSNumber numberWithFloat:degreesToRadians(RADIUS)], [NSNumber numberWithFloat:degreesToRadians(0.0f)], nil]; [keyAn setValues:array]; [array release] ,array = nil; NSTimer *timer = (NSTimer *)sender; UIView *shakeView = [viewDic objectForKey:timer.userInfo]; //判断如果是UIIimageView,要进行去除锯齿效果 if ([shakeView isKindOfClass:[UIImageView class]]) { shakeView = [self clearSawtoothOfView:(UIImageView *)shakeView]; } [shakeView.layer addAnimation:keyAn forKey:@"shake"]; }
//调用该方法,开始抖动动画-(void)startShakeWithView:(UIView *)shakeView withViewName:(NSString *)nameOfView{ [viewDic setObject:shakeView forKey:nameOfView]; NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:ShakeTime target:self selector:@selector(ShakeAnimationWithView:) userInfo:nameOfView repeats:YES]; [timer fire]; [timerArray addObject:timer];}
//结束所有动画-(void)stopShakeAll{ for (int i = 0; i < [timerArray count]; i++) { NSTimer *timer = (NSTimer *)[timerArray objectAtIndex:i]; [timer invalidate]; timer = nil; } [timerArray removeAllObjects];}
//去除UIImageView的锯齿-(UIImageView *)clearSawtoothOfView:(UIImageView *)imgView{ UIGraphicsBeginImageContextWithOptions(imgView.frame.size, NO, 1); [imgView.image drawInRect:CGRectMake(0, 0, imgView.frame.size.width, imgView.frame.size.height)]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); [imgView setImage:image]; return imgView;}
- iOS 模仿系统的抖动动画
- iOS模仿Mac下输错密码时的抖动窗口
- iOS简单的抖动动画效果
- ios 抖动动画效果
- ios抖动动画效果
- ios抖动动画效果
- iOS 抖动动画
- iOS 视图抖动动画
- iOS左右抖动动画
- ios 动画(抖动,入场动画,组动画)
- View的抖动动画
- 安卓仿IOS删除抖动动画
- ios平移与抖动动画的简单实现
- 【IOS动画】视图左右抖动动画效果
- ios动画中抖动动画效果的实现与CALayer动画的基本理解
- ios 系统的动画
- iOS模仿微信的那个视频眼睛动画
- iOS模仿安卓Material Design的涟漪动画按钮
- oracle知识点总结
- MySQLl虚拟表
- Andorid添加CCEditBox控件编译报错
- Eclipse快捷键大全
- 序列元素和、正则表达式匹配、BFS最短路径问题
- iOS 模仿系统的抖动动画
- hdu1395
- 私藏的vim快捷键图
- Android.app.SuperNotCalledException
- Nginx的CPU绑定优化
- VC++MySQL数据库编程
- project euler Problem 36
- java比较器(3)
- CCEase动作缓冲的解析