让你的头像浪起来~~~~~

DEMO 地址:网页链接,点击下载

你需要知道的
CADisplayLink

简单的说就是一定时器,其根本利用刷帧和屏幕频率一样来重绘渲染页面. 其创建方式:

[Objective-C] 查看源文件 复制代码
1
2
CADisplayLink *timer = [CADisplayLink displayLinkWithTarget:self selector:@selector(wave)];
[timer addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];

CAShapeLayer

CALayer的子类,通常结合CGPath来绘制图形. 其创建方式:

[Objective-C] 查看源文件 复制代码
1
2
3
4
5
CAShapeLayer *Layer = [CAShapeLayer layer];
Layer.frame =  self.bounds;
Layer.fillColor = self.realWaveColor.CGColor;
Layer...等属性
[self.view.layer addSublayer:Layer];

其优点

渲染效率高渲染快速。CAShapeLayer使用了硬件加速,绘制同一图形会比用Core Graphics快很多。
    高效使用内存。一个CAShapeLayer不需要像普通CALayer一样创建一个寄宿图形,所以无论有多大,都不会占用太多的内存。
    不会被图层边界剪裁掉。一个CAShapeLayer可以在边界之外绘制。你的图层路径不会像在使用Core Graphics的普通CALayer一样被剪裁掉。
    不会出现像素化。当你给CAShapeLayer做3D变换时,它不像一个有寄宿图的普通图层一样变得像素化。

三角函数

思路实现

UIView --> 2个CAShapeLayer --> imageView.frame.orgin.y调整
主要代码实现

最新文章

  1. there is issue about change event of checkbox in the ie8 oe ie7
  2. 创建 sequence
  3. .NET开发中经常用到的扩展方法
  4. java文件下载 rest
  5. hadoop之输入输出格式
  6. Zabbix探索:使用msmtp进行邮件告警
  7. 要成为开发中最牛逼的测试,测试中最牛逼的开发。从今天起学python,写博客。--python基础学习(一)
  8. Selenium各种工具比较
  9. Struts2 多文件上传
  10. php中soap应用
  11. 小白的Python之路 day5 re正则模块
  12. Java核心卷笔记(一)
  13. CF715B. Complete The Graph
  14. 如何优化 ThreadPoolExecutor
  15. sqlserver 2000数据压缩解决方法
  16. java统计指定目录中文件的个数和总的大小
  17. SQL Server 2000详细安装过程及配置
  18. Running kubernetes on windows
  19. [转帖]linux 内存管理——内核的shmall 和shmmax 参数
  20. Java并发之volatile二

热门文章

  1. C#封装、多态、抽象、接口、匿名方法等学习
  2. SharePoint 2013 中使用 JavaScript Like 和Unlike list item/page/document
  3. Editor Scripting学习笔记之Menu Item
  4. [Angular2 Router] Style the Active Angular 2 Navigation Element with routerLinkActive
  5. CSDN蒋涛:我为什么和王峰一起创办极客帮天使基金?
  6. IOS UIView子类UIScrollView
  7. scala命令
  8. 基于jQuery上下切换的焦点图—带缩略图悬浮
  9. debian7 更换GCC版本
  10. VC++制作DLL详解