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. Netty5 + WebSocket 练习

    1. 了解WebSocket知识 略2. websocket实现系统简单反馈时间 WebSocketServerHandler.java package com.jieli.nettytest.web ...

  2. C#基础总结之六 DataTable (临时表/数据源) 和Datatable 名片练习

    #region DataTable (临时表/数据源) 存储数据 DataTable dataTable = new DataTable(); dataTable.Columns.Add(" ...

  3. smartjs - DataManager 场景示例分析 - 数据懒加载

    发一张policy的参数图设置图: 场景1 - 数据的懒加载/延迟加载 在很多时候,为了提高网页的加载速度,减少不必要的开销,会将页面的数据拆分成几个部分,首先加载呈现可视区域内的数据,然后剩下来的会 ...

  4. Cwinux简介及用法简述

    我在我的个人博客上发表了一篇文章 Cwinux简介及用法简述 http://apprentice89.com/cwinux_introduction_and_use/

  5. PHP去除BOM头的方法

    BOM头是UTF-8来告诉编辑器:我是UTF8编码.它的编码是\xEF\xBB\xBF 但是PHP在设计之初并没有考虑到BOM头的问题,所以在编解码的时候很容易出现问题   比如今天遇到的问题,jso ...

  6. Linux的Cgroup

    为什么要有cgroup Linux系统中经常有个需求就是希望能限制某个或者某些进程的分配资源.也就是能完成一组容器的概念,在这个容器中,有分配好的特定比例的cpu时间,IO时间,可用内存大小等.于是就 ...

  7. CMD魔法堂:支持显示UTF8编码的中文

    一.前言 在Unbuntu中用sqlite3-command-line操作sqlite3还好好的,到了windows下查询表内容时发现中文全部乱码了!马上想到sqlite3内部使用utf-8对字符进行 ...

  8. CentOS6.5菜鸟之旅:安装输入法(小呀小企鹅)

    一.前言 假如在登录系统的时候语言选择了中文,那么是系统会自带ibus的中文输入法.但由于我打算用英文版,于是就被小企鹅输入法(FCITX)折腾了两个晚上. 二.检查系统编码 在bash中输入 loc ...

  9. shell join 参数详细说明

    join类似db里面的join方法,同样有left join right join inner join等 指定参数-a 可以指定join的方式. -a1表示显示第一个文件中不匹配的行,即为left ...

  10. SQL 批量字符串替换

    --在SQL SERVER中批量替换字符串的方法 update table[表名] set Fields[字段名]=replace(Fields[字段名],'被替换原内容','要替换成的内容') up ...