UIView动态实现的效果有以下几种:

1.动态改变frame

2.动态改变color

3.动态改变alpha

4.动态改变bounds

首先,我们先看几种BasicView动画

 #pragma mark - 改变frame
- (IBAction)changeFrame:(UIButton *)sender { // UIView动画有开始,有结束,以beginAnimation开始,以commitAnimation结束
// 第一步:开始UIView动画
[UIView beginAnimations:@"move" context:nil]; // 第二步:设置动画时长
[UIView setAnimationDuration:]; // 第三步:设置UIView动画的回调代理
[UIView setAnimationDelegate:self]; // 第四步:设置相关的对象的frame
_textView.frame = CGRectMake(, , , ); // 第五步:结束动画
[UIView commitAnimations];
}
 #pragma mark - 改变color
- (IBAction)changeColor:(UIButton *)sender { [UIView beginAnimations:@"color" context:nil];
[UIView setAnimationDuration:];
[UIView setAnimationDelegate:self];
_textView.backgroundColor = [UIColor blueColor];
[UIView commitAnimations];
}
 #pragma mark - 改变alpha
- (IBAction)changeAlpha:(UIButton *)sender { [UIView beginAnimations:@"alpha" context:nil];
[UIView setAnimationDuration:];
[UIView setAnimationDelegate:self];
_textView.alpha = 0.3;
[UIView commitAnimations];
}
 #pragma mark - 翻转
- (IBAction)rotationAction:(UIButton *)sender { // 第一步:开始动画
[UIView beginAnimations:@"rotation" context:nil]; // 第二步:设置时长
[UIView setAnimationDuration:]; // 第三步:设置淡入效果
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; // 第四步:设置代理
[UIView setAnimationDelegate:self]; // 第五步:设置翻转方向
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:_textView cache:YES]; // 第六步:结束动画
[UIView commitAnimations];
}
 #pragma mark - 旋转
- (IBAction)transtromAction:(UIButton *)sender { // 第一步:开始动画
[UIView beginAnimations:@"transform" context:nil]; // 第二步:设置时长
[UIView setAnimationDuration:]; // 第三步:要进行旋转,所以要设置角度
CGAffineTransform transform = CGAffineTransformMakeRotation( * M_PI); // 第四步:设置旋转角度的对象
[_textView setTransform:transform]; // 第五步:设置代理
[UIView setAnimationDelegate:self]; // 第六步:结束动画
[UIView commitAnimations];
}

然后我们来说几种Block动画:

1.简单动画

 #pragma mark - 简单动画
- (IBAction)easyAnimation:(UIButton *)sender { // 参数1:设置动画时长
// 参数2:动画要显示的效果
// 参数3:动画完成时进行的事情
__weak typeof(self)weakSelf = self;
[UIView animateWithDuration:2.0f animations:^{
weakSelf.testImgView.center = self.view.center;
} completion:^(BOOL finished) {
NSLog(@"动画完成");
}];
}

2.复杂动画

 #pragma mark - 复杂动画
- (IBAction)complexBlockAnimation:(UIButton *)sender { // 参数1:时长
// 参数2:动画的延迟时间
// 参数3:动画的枚举值
// 参数4:要实现的动画效果
// 参数5:动画完成的时候要干的事情
__weak typeof(self)weakSelf = self;
[UIView animateWithDuration:3.0f delay:1.0f options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{
weakSelf.testImgView.frame = CGRectMake(, , , );
} completion:^(BOOL finished) {
NSLog(@"动画完成");
}];
}

3.关键帧动画

 #pragma mark - 关键帧动画
- (IBAction)keyFrameAnimation:(UIButton *)sender { // 参数1:时长
// 参数2:动画的延迟时间
// 参数3:枚举值
// 参数4:开始动画
__weak typeof(self)weakSelf = self;
[UIView animateKeyframesWithDuration:3.0f delay:1.0f options:UIViewKeyframeAnimationOptionCalculationModeLinear animations:^{ // 在这个里面需要加一个方法,即创建block的关键帧
// 参数1:帧动画的开始时间
// 参数2:帧动画的持续时间
// 参数3:实现的效果
[UIView addKeyframeWithRelativeStartTime: relativeDuration:0.5 animations:^{
// 实现的效果
weakSelf.testImgView.frame = CGRectMake(, , , );
}];
} completion:^(BOOL finished) {
NSLog(@"哈哈哈");
}];
}

4.Spring动画

 // 参数1:动画时长
// 参数2:延迟
// 参数3:类似弹簧的效果值,(0-1)
// 参数4:初始化spring的一个速度
// 参数5:spring动画的枚举值
// 参数6:开始动画
// 参数7:动画完成
__weak typeof(self)weakSelf = self;
[UIView animateWithDuration:3.0f delay:0.5f usingSpringWithDamping:1.0 initialSpringVelocity: options:UIViewAnimationOptionOverrideInheritedDuration animations:^{ weakSelf.imgView.frame = CGRectMake(, , , );
} completion:^(BOOL finished) {
NSLog(@"fuck");
}];

UIView简单动画的更多相关文章

  1. iOS开发UI篇—核心动画(UIView封装动画)

    iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...

  2. IOS 简单动画 首尾式动画

    首尾式动画 首尾式动画即通过实现控件由初始状态到结束状态的过程.(主要表现在控件的Frame 透明度 ) // // ViewController.m // CX 简单动画 // // Created ...

  3. ios uiview封装动画(摘录)

    iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...

  4. IOS开发-UIView之动画效果的实现方法(合集)

    http://www.cnblogs.com/GarveyCalvin/p/4193963.html 前言:在开发APP中,我们会经常使用到动画效果.使用动画可以让我们的APP更酷更炫,最重要的是优化 ...

  5. 17-UIKit(UIView的动画)

    2. UIView的动画 UIView类本身具有动画的功能 2.1 概念 由UI对底层Core Animation框架的封装 可以轻松简单的实现动画效果 2.2 两种使用方式 1> Block ...

  6. 如何停止和扭转UIView的动画

    本文转载至  http://codego.net/576089/ 我有它收缩时碰到切换按钮UIView的动画跳和它扩展恢复到原来的大小当再次接触到按钮.密封式前大灯一切都工作得很好.问题是,动画师注意 ...

  7. UIView Animation 动画学习总结

    目录 一.前言 二.UIView Animation 2.1 简单动画 2.2 关键帧动画 2.3 View 的转换 三.CALayer Animation 3.1 基本动画(CABasicAnima ...

  8. 原生JS封装简单动画效果

    原生JS封装简单动画效果 一致使用各种插件,有时候对原生JS陌生了起来,所以决定封装一个简单动画效果,熟悉JS原生代码 function animate(obj, target,num){ if(ob ...

  9. jquery添加光棒效果的各种方式以及简单动画复杂动画

    过滤器.绑定事件.动画   一.基本过滤器 语法 描述 返回值 :first 选取第一个元素 单个元素 :last 选取最后一个元素 单个元素 :not(selector) 选取去除所有与给定选择器匹 ...

随机推荐

  1. Docker练习例子:基于 VNCServer + noVNC 构建 Docker 桌面系统

    0. 安装docker 这一步略,网上有好多教程,一般出现装不上的原因,也就是网速问题了,这个我也很难帮你. 1. 下载指定的镜像images docker pull dorowu/ubuntu-de ...

  2. 让文档和Demo生成更加简单和强大 - SmartDoc 0.1.1 说明

    新特性 smartDoc 0.1.1版正式发布,其中加入了更多方便生成文档的功能,主要特性如下: * 加入@demo配置项,看可以动态抓取html和js的内容作为@example,同时支持扩展@dem ...

  3. ruby -- 进阶学习(十二)fragment cache

    基于rails4.0环境 Rails 页面缓存的方法很多,最近弱弱地尝试了fragment cache,用法还算简单~@_@|| 首先,查看config/environment/production. ...

  4. Appium移动自动化测试(二)--安装Android开发环境

    继续Appium环境的搭建. 第二节  安装Android开发环境 如果你的环境是MAC那么可以直接跳过这一节.就像我们在用Selenium进行web自动化测试的时候一样,我们需要一个浏览器来执行测试 ...

  5. iOS-动画效果(首尾式动画,代码快动画,核心动画,序列帧动画)

    一.各个动画的优缺点 1.首尾动画:如果只是修改空间的属性,使用首尾动画比较方便,如果在动画结束后做后续处理,就不是那么方面了. 2.核心动画:有点在于对后续的处理方便. 3.块动画: (1)在实际的 ...

  6. JS中 escape, encodeURI 和 encodeURIComponent的区别

    为避免Url字符串在传递过程中的乱码,我们一般需要对字符串进行处理. 在Javascript中实现此功能的全局对象有3个,分别是:escape(),  encodeURI()  和 encodeURI ...

  7. php + Redis 写的类似于新浪微博的feed系统

    最近接了一个feed系统的外包,类似于微博那种!客户端是ios和android,服务器用的php,数据库用的是redis.分享下服务器和数据库部分的功能!希望对大家有帮助. 关于redis的介绍,大家 ...

  8. 计数排序 + 线段树优化 --- Codeforces 558E : A Simple Task

    E. A Simple Task Problem's Link: http://codeforces.com/problemset/problem/558/E Mean: 给定一个字符串,有q次操作, ...

  9. Requested registry access is not allowed(不允许所请求的注册表访问权)

    尝试创建自定义事件日志时,将会收到“Requested registry access is not allowed(不允许所请求的注册表访问权)”错误消息 EventLog.CreateEventS ...

  10. (三)XmlHelper

    [转]http://blog.csdn.net/u011866450/article/details/50373222 using System.Xml; using System.Data; nam ...