博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一些不错的动画效果---郭雪彬
阅读量:4522 次
发布时间:2019-06-08

本文共 2549 字,大约阅读时间需要 8 分钟。

一些比较实用简便的抖动和震动效果和控制器跳转渐变效果,具体什么效果自己试去,只需要调用相应方法,将你的控件传进去就可以。

   废话不多说,直接上代码:

-(void)shakeView:(UIView*)viewToShake{
CGFloat t =2.0; CGAffineTransform translateRight =CGAffineTransformTranslate(CGAffineTransformIdentity, t,0.0); CGAffineTransform translateLeft =CGAffineTransformTranslate(CGAffineTransformIdentity,-t,0.0); viewToShake.transform = translateLeft; [UIView animateWithDuration:0.07 delay:0.0 options:UIViewAnimationOptionAutoreverse|UIViewAnimationOptionRepeat animations:^{ [UIView setAnimationRepeatCount:2.0]; viewToShake.transform = translateRight; } completion:^(BOOL finished){ if(finished){ [UIView animateWithDuration:0.05 delay:0.0 options:UIViewAnimationOptionBeginFromCurrentState animations:^{ viewToShake.transform =CGAffineTransformIdentity; } completion:NULL]; } }];}-(void)earthquake:(UIView*)itemView{ CGFloat t =2.0; CGAffineTransform leftQuake =CGAffineTransformTranslate(CGAffineTransformIdentity, t,-t); CGAffineTransform rightQuake =CGAffineTransformTranslate(CGAffineTransformIdentity,-t, t); itemView.transform = leftQuake; // starting point [UIView beginAnimations:@"earthquake" context:(__bridge void *)(itemView)]; [UIView setAnimationRepeatAutoreverses:YES];// important [UIView setAnimationRepeatCount:5]; [UIView setAnimationDuration:0.07]; [UIView setAnimationDelegate:self]; [UIView setAnimationDidStopSelector:@selector(earthquakeEnded:finished:context:)]; itemView.transform = rightQuake;// end here & auto-reverse [UIView commitAnimations];} //下面是视图跳转渐变效果,在手机思埠发现的,还不错,顺便分享下给大家 //使用方法:把你初始化好的Controller传进去就可以了,方便实用。
- (void)pushFadeViewController:(UIViewController *)viewController{    CATransition *transition = [CATransition animation];    transition.duration = 1.2f;    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];    transition.type = kCATransitionFade;	[self.view.layer addAnimation:transition forKey:nil];    	[self pushViewController:viewController animated:NO];}- (void)fadePopViewController{	CATransition *transition = [CATransition animation];    transition.duration = 1.2f;    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];    transition.type = kCATransitionFade;	[self.view.layer addAnimation:transition forKey:nil];	[self popViewControllerAnimated:NO];}

 

待续。。。  

转载于:https://www.cnblogs.com/sixindev/p/4490632.html

你可能感兴趣的文章
编程题目:PAT 1004. 成绩排名 (20)
查看>>
使用分层实现业务处理
查看>>
Microsoft Windows平台的NoSQL数据存储引擎
查看>>
浅谈虚拟机
查看>>
Ubuntu系统Linux编译osg库
查看>>
Linux学习笔记 -- 系统目录结构
查看>>
[转载]ExtJs4 笔记(9) Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件...
查看>>
将数组排序组成最小的整数
查看>>
sqlserver学习--1(登陆,时间函数,查看表结构,查看建表语句,IDENTITY() 函数,查询表名称,查询表结构)...
查看>>
MYSQL 日期函数
查看>>
Oracle触发器之替代触发器
查看>>
NodeJS基础教程之一
查看>>
你真的了解SDWebImage吗?
查看>>
BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块)
查看>>
C#嵌套类
查看>>
2017《面向对象程序设计》课程作业三
查看>>
[HDU] 1068 Girls and Boys(二分图最大匹配)
查看>>
ADO.NET类的模型关系图
查看>>
SRM 604 DIV2 250
查看>>
python中异常处理之esle,except,else
查看>>