我的iOS学习之路(四):动画设置
在ios的开发过程中,经常需要对视图控件进行变化,如大小,颜色,旋转等,这是如果直接将变化结果呈现出来,就显得不够友好,所以我们通常会使用动画,让用户能够看到变化的过程。
使用动画通常有两种方式,一种是在代码块之间进行,另外一种是使用block块。
接下来先介绍使用代码块
UILabel *label.frame = CGRectMake(, , , ); //使用代码块只需要将要进行变化的控件,在变化时的操作放在代码块中 //动画头部 [UIView beginAnimations:Nil context:Nil]; //动画完成时间 [UIView setAnimationDuration:]; //设置渐变曲线 [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; //设置动画类型 /* 第一个参数: 要实现的动画效果 动画效果有如下类型: UIViewAnimationTransitionNone, 无动画效果 UIViewAnimationTransitionFlipFromLeft, 左翻转 UIViewAnimationTransitionFlipFromRight, 右翻转 UIViewAnimationTransitionCurlUp, 向上翻页 UIViewAnimationTransitionCurlDown, 向下翻页 第二个参数: 要实现动画的视图 第三个参数: 是否对动画进行缓存 */ [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:label cache:YES]; //此处对label改变frame //动画尾部,提交、执行动画 [UIView commitAnimations];
在使用block来进行设置动画,有两种方法,第一种是通过调用[UIView animateWithDuration:NSTimeInterval animations:^(void)animations]方法
//将需要进行动画操作的代码放入到块当中 //其中第一个参数为动画时间 [UIView animateWithDuration: animations:^{ // label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, width, HEIGHT); // }];
第二种方法是调用
[UIView animateWithDuration:(NSTimeInterval) animations:^(void)animations completion:^(BOOL finished)completion]方法,此方法为上一个方法的加强版,在执行完动画操作后,会执行最后一个块
UIView *view = [[UIView alloc] init]; view.frame = CGRectMake(, , , ); view.backgroundColor = [UIColor greenColor]; //使用block实现动画效果 // [UIView animateWithDuration:5 animations:^{ // view.frame = CGRectMake(220, 330, 40, 40); // view.backgroundColor = [UIColor redColor]; // }]; //一个动画块执行完后,继续执行最后一个块 [UIView animateWithDuration: animations:^{ view.frame = CGRectMake(, , , ); view.backgroundColor = [UIColor redColor]; } completion:^(BOOL finished) { [UIView animateWithDuration: animations:^{ view.frame = CGRectMake(, , , ); view.backgroundColor = [UIColor yellowColor]; view.alpha = 0.1; }]; }];
我的iOS学习之路(四):动画设置的更多相关文章
- ios学习之路四(新建Sprite Kit 项目的时候出现apple LLVM 5.0 error)
在新建sprite kit 项目的时候出现"apple LLVM 5.0 error" 解决方法 在网上搜索,stackoverflow 上是这么说的点击打开链接.按照他的我也没解 ...
- iOS学习笔记-自定义过渡动画
代码地址如下:http://www.demodashi.com/demo/11678.html 这篇笔记翻译自raywenderlick网站的过渡动画的一篇文章,原文用的swift,由于考虑到swif ...
- IOS开发---菜鸟学习之路--(二十二)-近期感想以及我的IOS学习之路
在不知不觉当中已经写了21篇内容 其实一开始是没有想些什么东西的 只是买了Air后 感觉用着挺舒服的,每天可以躺在床上,就一台笔记本,不用网线,不用电源,不用鼠标,不用键盘,干干脆脆的就一台笔记本. ...
- 浅谈iOS学习之路(转)
转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...
- iOS学习笔记09-核心动画CoreAnimation
http://www.cnblogs.com/liutingIOS/p/5368536.html 一.CALayer CALayer包含在QuartzCore框架中,具有跨平台性,在iOS中使用Cor ...
- 浅谈iOS学习之路
转眼学习iOS已经快两年的时间了,这个路上有挫折也有喜悦,一步步走过来发现这个过程是我这一辈子的财富,我以前的老大总是对我说,年轻就是最大的资本(本人91年),现在才算是慢慢的体会到,反观自己走过的这 ...
- Redis——学习之路四(初识主从配置)
首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...
- IOS学习之路(二十五)UIView动画,弹出后移动然后消失
首先在viewdidload中添加UIlable并且把其设为隐藏 然后在点击按钮后,让其弹出移动后消失 //点击按钮后: #pragma mark 点击关注按钮 - (IBAction)guanzhu ...
- IOS学习之路十四(用TableView做的新闻客户端展示页面)
最近做的也个项目,要做一个IOS的新闻展示view(有图有文字,不用UIwebview,因为数据是用webservice解析的到的json数据),自己一直没有头绪,可后来听一个学长说可以用listvi ...
随机推荐
- XP下Virtualbox虚拟Ubuntu共享文件夹设置
环境:主机操作系统是Windows XP,虚拟机是Ubuntu 8.10,虚拟机是VirtualBox 2.1.0. 1. 安装增强功能包(Guest Additions) 安装好Ubuntu 8.1 ...
- HDU 5972 Regular Number(ShiftAnd+读入优化)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5972 [题目大意] 给出一个字符串,找出其中所有的符合特定模式的子串位置,符合特定模式是指,该子串 ...
- C#动态编译、执行代码
在开始之前,先熟悉几个类及部分属性.方法:CSharpCodeProvider.ICodeCompiler.CompilerParameters.CompilerResults.Assembly. 一 ...
- MySQL 5.7.10 免安装配置
# 配置环境:windows 64bit # 安装版本:mysql-5.7.10-win32(zip archive版本) 1. ZIP Archive版是免安装的,只需把mysql-5.7.10-w ...
- word-wrap,white-space和text-overflow属性
(1) //在断点处换行 word-wrap: normal; //允许在长单词进行换行 word-wrap: break-word; (2) white-space:怎么处理元素间的空白 white ...
- BadUSB的防范研究
近期爆出的badUSB漏洞,通过将病毒植入固件,能够伪装成键盘等设备,直接控制电脑,业界还没有非常好的修复方法. 从安全产品的角度.对于这个问题的防范,有下面几点可能不成熟的想法 1.病毒伪装成键盘. ...
- Android官方终于支持 Navigation Drawer(导航抽屉)模式
在2013 google IO当天,Android团的更新了Support库,新版本(V13)的Support库中新加入了几个比较重要的功能. 添加 DrawerLayout 控件,支持创建 Nav ...
- oracle数据库获取指定表的列的相关信息
1.很多时候我们需要从数据库中获取指定表的所有列的相关属性,如 name,commens,datatype,datalength,pk等.下面就是制定的语句. select c.TABLE_NAME ...
- iOS手机号正则表达式并实现344格式 (正则的另一种实现方式)
[Demo下载地址]https://git.oschina.net/remainedmute/PhoneNumDemo.git 相关博客http://www.jianshu.com/p/00da4d8 ...
- HelloWorld——Cocos2d-x学习历程(二)
HelloWorld分析: 1."resource"文件夹 该文件夹主要用于存放游戏中需要的图片.音频和配置等资源文件. 2."include"和"s ...