我的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 ...
随机推荐
- Oracle EBS-SQL (AR-1):检查应收收款发生额
SELECT SUM(nvl(dist.amount_dr,0))-SUM(nvl(dist.amount_cr,0)) FROM ar_cash_receipt_history_all hist, ...
- Java安全学习
http://blog.csdn.net/wbw1985/article/details/5506515 http://blog.csdn.net/wbw1985/article/details/60 ...
- poj2231---暴力
#include<stdio.h> #include<stdlib.h> #include<math.h> ]; int cmp(const void *a,con ...
- HDU 3046 Pleasant sheep and big big wolf(最小割)
HDU 3046 Pleasant sheep and big big wolf 题目链接 题意:一个n * m平面上,1是羊.2是狼,问最少要多少围墙才干把狼所有围住,每有到达羊的路径 思路:有羊和 ...
- MySQL 5.6.19 二进制安装
1. 操作系统 CentOS release 6.2 (Final) 2. 创建用户和组 [root@mymaster1 ~]# groupadd mysql [root@ ...
- oracle 快照(snapshot) 管理
----手工创建oracle 快照 BEGIN DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT (); END; / ---删除快照 详细快照信息能够查看视图 ...
- angular的那些事
angular.js是什么 AngularJS 是一个 JavaScript 框架.它可通过 <script> 标签添加到 HTML 页面. AngularJS 通过 指令 扩展了 HTM ...
- CentOS6.4下安装JDK1.6
首先,切换到jdk安装包所在目录: [rot@centos6 Downloads]# ./jdk-6u45-linux-x64-rpm.bin Unpacking... Checksumming... ...
- iOS RTMP 视频直播开发笔记(1) – 采集摄像头图像
1. 采集硬件(摄像头)视频图像 这里简单说下 iOS 的摄像头采集. 首先初始化AVCaptureSession,说到Session,有没有人想到AVAudioSession呢? // 初始化 AV ...
- osg项目经验1<MFC+OSG中模型点选效果>
点选主要是重载osg的GUIEventHandler, class CPickHandler : public osgGA::GUIEventHandler{ //自定义回调函数名:CPickHand ...