隐式动画

  • 什么是图层的隐式动画?

    • 当我们修改CALayer的一些属性,我们可以发现它会有类似动画效果一样的变化,这是图层独有的特性。
    • 这样的特性UIView是没有的,当修改UIView的图层属性,会是很生硬的变化,达不到动画的效果。

示例演示

示例图

  • 核心代码 ViewController.m
#import "ViewController.h"
//转换角度
#define angle2radion(angle) ((angle) / 180 * M_PI)@interface ViewController ()
@property(nonatomic,weak)CALayer * layer;@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];CALayer * layer = [CALayer layer];//layer的位置layer.position = CGPointMake(200, 150);//大小layer.bounds = CGRectMake(0, 0, 80, 80);//背景颜色layer.backgroundColor = [UIColor redColor].CGColor;//    layer.contents = (id)[UIImage imageNamed:@"bbb"].CGImage;[self.view.layer addSublayer:layer];_layer = layer;//scheduled... 这个方法自动将定时器加入runLoop[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(change) userInfo:nil repeats:YES];}-(void)change
{NSLog(@"%s",__func__);//旋转角度的变化,以z轴为轴_layer.transform = CATransform3DMakeRotation(angle2radion(arc4random_uniform(360)+1), 0, 0, 1);//位置变化_layer.position = CGPointMake(arc4random_uniform(200)+20, arc4random_uniform(400)+50);//圆角变化_layer.cornerRadius = arc4random_uniform(40);//背景颜色变化_layer.backgroundColor = [self arcColor].CGColor;//边框变化_layer.borderColor =[self arcColor].CGColor;_layer.borderWidth = 10;}/**颜色随机*/
-(UIColor*)arcColor
{CGFloat r = arc4random_uniform(256) / 255.0;CGFloat g = arc4random_uniform(256) / 255.0;CGFloat b = arc4random_uniform(256) / 255.0;return [UIColor colorWithRed:r green:g blue:b alpha:1];
}@end

三 iOS之 CALayer的隐式动画相关推荐

  1. iOS边练边学--CALayer,非根层隐式动画,钟表练习

    一.CALayer UIView之所以能显示在屏幕上,完全是因为他内部的一个图层 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性 ...

  2. IOS开发CALayer隐式动画

    2019独角兽企业重金招聘Python工程师标准>>> 每一个自定义的layer都存在默认的隐私动画,隐式动画默认为1/4秒 @interface DYViewController ...

  3. CALayer的使用(圆形头像 锚点 边框 阴影 形变 隐式动画 )

    CALayer简介和一些基本概念: 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView.其实UIView之所以能显 ...

  4. CoreAnimation —— CATransaction(隐式动画)

    2019独角兽企业重金招聘Python工程师标准>>> 当你改变`CALayer`的一个可做动画的属性,它并不能立刻在屏幕上体现出来.相反,它是从先前的值平滑过渡到新的值.这一切都是 ...

  5. 动画总结 Core Animation 贝赛尔曲线 显式动画 隐式动画

    Core Animation 接下来详细介绍下动画的各个属性及作用 fromValue: 动画的开始值(Any类型, 根据动画不同可以是CGPoint.NSNumber等) toValue: 动画的结 ...

  6. Flutter 动画全解析(动画四要素、动画组件、隐式动画组件原理等)

    本文通过拆解 Flutter 中动画的实现方式以及原理来介绍动画实现的整个过程. 1. 动画四要素 动画在各个平台的实现原理都基本相同,是在一段时间内一系列连续变化画面的帧构成的.在 Flutter ...

  7. flutter 隐式动画

    前言 隐式动画简单来说就是用 setState 就能呼唤出来的动画.对于实现了隐式动画的组件,只要Widget被更新,那么一个过渡动画就会自动产生并且播放. 隐式动画和显示动画的区别? 1,隐式动画是 ...

  8. iOS:CALayer核心动画层

    CALayer:核心动画层 简介: Core Animation 是跨平台的,支持iOS环境和Mac OS X环境 学习核心动画之前,需要先理解CALayer,因为核心动画操作的对象不是UIView, ...

  9. iOS动画进阶(八)显式动画

    显式动画 如果想让事情变得顺利,只有靠自己 -- 夏尔·纪尧姆 上一章介绍了隐式动画的概念.隐式动画是在iOS平台创建动态用户界面的一种直接方式,也是UIKit动画机制的基础,不过它并不能涵盖所有的动 ...

最新文章

  1. javacurrentmap_Java集合---ConcurrentHashMap原理分析
  2. tomcat启动后如何登录
  3. 音视频技术:视频质量评价方法简介
  4. HDU 1166(线段树)
  5. pythonsqlite3教程_使用 Python 在线操作 sqlite3
  6. hbase java 端口_HBase远程Java客户端尝试通过随机端口进行身份验证
  7. java 模板引擎_SpringBoot入门系列(四)如何整合Thymeleaf模板引擎
  8. pta函数统计素数并求和_关于求和的4种函数公式,此文讲透了,尤其是第4种,绝对的高效...
  9. 循环数组对象 php,PHP循环遍历stdClass对象的数组
  10. c语言数据转移,重温C语言(2)之数据
  11. 解决Django文件表单验证forms.FileField(required=True),总是无法通过验证:这个字段是必填项
  12. 入驻商户卖隐形眼镜护理液 饿了么遭监管警告
  13. jQuery仿京东首页广告图片切换图片轮播
  14. 详解:MapReduce 思想解析
  15. java 的clean code 技巧
  16. Java中IO流有哪些
  17. 校招行测笔试--资料分析
  18. 赛式方法论:为什么你的游戏做不完、做得烂?
  19. mex文件用matlab能打开吗,MATLAB通过mex文件调用C/C++程序
  20. 【Hive】Hive锁机制分析及任务问题处理

热门文章

  1. 图虫网、人人字幕Scrapy爬虫实战分享 附源码
  2. linux 连接宽带
  3. java 监控剪切板_Java监视系统剪贴板
  4. substance designer 使用iray渲染置换效果
  5. 五险一金缴纳比例及方法
  6. MongoDB 组合多个条件查询(and、and、in、gte、gte、lte)
  7. webpack清理 /dist 文件夹
  8. 【学以致用】android功能实现9---Launcher之AS中,在Launcher源码中增加google负一屏的实现方法
  9. 高校圆桌派第三期话题征集强势来袭~
  10. linux cp f命令,linux cp 命令