UIView本身有一个类方法 animateWithDuration 可以简单实现动画效果

简单从平移、缩放、透明度三个方向,都是修改frame来实现

平移效果的实现代码

/***  平移*/
- (IBAction)translate {// 渐变动画// 方式一/*// 1. 开始动画[UIView beginAnimations:nil context:nil];[UIView setAnimationDuration:1.0];// 2.动画代码CGRect frame = self.animationView.frame;frame.origin.y -= 50;self.animationView.frame = frame;// 3.提交动画[UIView commitAnimations];*/// 方式二:/*[UIView animateWithDuration:2.0 animations:^{// 1.动画代码CGRect frame = self.animationView.frame;frame.origin.y -= 50;self.animationView.frame = frame;}];*//*[UIView animateWithDuration:1.0 animations:^{// 执行动画CGRect frame = self.animationView.frame;frame.origin.y -= 50;self.animationView.frame = frame;} completion:^(BOOL finished) {// 动画完成做什么事情self.animationView.backgroundColor = [UIColor blackColor];}];*//*UIViewAnimationOptionCurveEaseInOut  动画开始/结束比较缓慢,中间相对较快UIViewAnimationOptionCurveEaseIn     动画开始比较缓慢UIViewAnimationOptionCurveEaseOut    动画结束比较缓慢UIViewAnimationOptionCurveLinear     线性---> 匀速*/[UIView animateWithDuration:1.0 delay:1.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{CGRect frame = self.animationView.frame;frame.origin.y += 50;self.animationView.frame = frame;} completion:^(BOOL finished) {self.animationView.backgroundColor = [UIColor greenColor];}];
}

缩放效果

/***  缩放*/
- (IBAction)scale {[UIView animateWithDuration:1.0 delay:1.0 options:UIViewAnimationOptionCurveEaseIn animations:^{// 执行动画CGRect frame = self.animationView.frame;frame.size = CGSizeMake(100, 150);self.animationView.frame = frame;} completion:^(BOOL finished) {//动画完成[UIView animateWithDuration:2.0 animations:^{self.animationView.alpha -= 0.9;}];}];
}

透明度的修改

/***  透明度动画*/
- (IBAction)alpha {[UIView animateWithDuration:1.0 delay:0.5 options:UIViewAnimationOptionCurveEaseOut animations:^{// 执行动画self.animationView.alpha -= 0.9;} completion:^(BOOL finished) {// 动画完成做什么事情[UIView animateWithDuration:2.0 animations:^{self.animationView.alpha += 0.9;}];}];
}

iOS利用UIView实现渐变动画相关推荐

  1. iOS利用UIView自定义播放器进度条

    前段时间做项目遇到播放器自定义进度条的需求,刚开始想的是继承自系统的UISlider去做,内部重写系统方法完成样式定制.后来遇到头疼的问题,在iphone6.7手机上样式显示正常,遇到plus手机进度 ...

  2. UIView封装动画--iOS利用系统提供方法来做关键帧动画

    iOS利用系统提供方法来做关键帧动画 ios7以后才有用. /*关键帧动画options:UIViewKeyframeAnimationOptions类型*/[UIView animateKeyfra ...

  3. iOS个人中心渐变动画、微信对话框、标签选择器、自定义导航栏、短信验证输入框等源码...

    iOS精选源码 简单的个人中心页面-自定义导航栏并予以渐变动画 程序员取悦女票的正确姿势---Tip1(iOS美容篇) iOS 前台重启应用和清除角标的问题 微信原生提醒对话框3.0 JHLikeBu ...

  4. 系统学习iOS动画 —— 渐变动画

    这个是希望达成的效果: 先创建需要的控件: class ViewController: UIViewController {let timeLabel = UILabel()override func ...

  5. iOS之UIview动画

    一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...

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

    一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...

  7. 十 iOS 之UIVIew动画 和 核心动画的区别

    UIVIew动画 和 核心动画的区别 先看一个动画效果 这是一个很简单的动画,我让这个红色的view从(153,139)的位置平移到(200,400)的位置 用核心动画 ViewController. ...

  8. 【IOS开发进阶系列】动画专题

    1 CALayer IOS SDK详解之CALayer(一) http://doc.okbase.net/Hello_Hwc/archive/123447.html 1.1 基本概念 1.1.1 CA ...

  9. android 矢量粒子动画,iOS CAEmitterLayer实现粒子发射动画效果

    iOS实现粒子发射动画效果图 动画效果用 CAEmitterLayer 实现.CAEmitterLayer 显示粒子发射动画,具体的粒子由 CAEmitterCell 封装.代码示例是展示 CAEmi ...

最新文章

  1. Vant 使用之Toast Vant安装和使用
  2. java switch 应用
  3. python人工智能入门书籍推荐-小编就给大家推荐几本python机器学习入门书!
  4. 查看ios设备型号网址
  5. 华为nova7保密柜_华为发布nova8系列新品 轻松拍出Vlog黄金脸占比
  6. jdbctemplate 开启事务_Spring(四):事务管理
  7. 洛谷 P2647 最大收益
  8. ios java aes_PHP7 AES加密解密函数_兼容ios/andriod/java对等加解密
  9. JSP-页面实现自动跳转!
  10. Mysql 日期函数 增加周天年月时分秒
  11. c# dialogresult 选择文件_C#控件美化之路(12):自定义消息弹出框
  12. 计算机轻量级硬件性能测试软件推荐
  13. 跟父亲一样伟大的程序员,请一定要照顾好自己!
  14. Sawin软件研发之窗:《南郭先生新论》 - 使用 Google 工具栏进行发送
  15. 2021-06-31 rockchip rv1126编译说明
  16. 深圳靠谱的python培训机构排名
  17. JSP导入导出Excel功能
  18. 金职院计算机网络技术中外合作有什么不一样,金华职业技术学院学费多少
  19. 仓储室内定位系统—企业物流的“数字化”转型
  20. flume学习之一 是什么,主要应用在什么场景

热门文章

  1. 链表,队列和栈的区别
  2. JavaScript中window对象及open和close使用
  3. centos安装nginx教程
  4. .net ajax 服务器,以服务器端为中心的 ASP.NET AJAX 模式(2)-陈广琛 | Microsoft Docs
  5. java坦克大战实例讲解(一)
  6. 深度学习笔记目录大全(吴恩达)--终于有翻译版本了
  7. [译]游戏编程入门(by David Astle)(转载)
  8. 批量添加在线地图 教程 快速添加
  9. git 新建分支并切换到该分支_git切换到指定分支,git新建分支与合并
  10. springboot+jsp家庭理财管理系统