文章首发自查看网址

仿照手机百度卫士的饼状图 之前看到百度安全卫士的首页有一个环形动画挺有意思的,所以就仿照这写了一个。 先上结果图

 

有两个功能,上面的滑竿是来改变数值大小,并调整饼状图的扇形面积;下面的滑竿是来调整整体图片的上下浮层间距。 总体就这么两个功能,下面开始分布来介绍如何实现的。

视图层级 

(一)饼状图 文字部分采用CATextLayer的方式添加到界面上,通过滑动滑竿来改变数值。 后面的饼状图通过自定义UIVew,在传入数值后,调用[self setNeedsDisplay]方法,进而调用-(void)drawRect:(CGRect)rect 来重新绘制背景。 采用CGContext来绘制背景。

(二) 层次感 通过滑动下面的滑竿来改变视图的层次感,这里通过首先设置viecontroller里面每个view的zposition,然后设置CATransform3D来改变视图层次。

下面查看代码

(一)绘制饼状图

  • (void)drawRect:(CGRect)rect {

    // Drawing code

    CGContextRef contextRef = UIGraphicsGetCurrentContext();

    CGContextBeginPath(contextRef);

    CGContextAddArc(contextRef, rect.size.width/2, rect.size.height/2, rect.size.height/2, currentValue/2+M_PI_2,-currentValue/2+M_PI_2, YES); CGContextAddLineToPoint(contextRef, rect.size.width/2, rect.size.height/2);

    CGContextClosePath(contextRef);

    CGContextSetFillColorWithColor(contextRef, [UIColor colorWithRed:80/255.0 green:185/255.0 blue:255/255.0 alpha:0.6].CGColor);

    CGContextFillPath(contextRef);

}

(二)改变层次感

-(void)showShadow:(float)value {

CATransform3D transform = CATransform3DIdentity;

// transform.m34 = 1/8000; transform.m34 = -0.001;

transform = CATransform3DRotate(transform, -M_PI /value, -1, 0, 0);

self.layer.sublayerTransform = transform;

}

点我下载代码

iOS-仿百度卫士动画相关推荐

  1. iOS 仿百度外卖,饿了么-点餐效果(加入购物车效果)

    今天带来的是仿百度外卖,饿了么-点餐效果既物品加入购物车时的动画效果,这里用的Masonry布局,下滑的效果主要是通过UIBezierPath CAKeyframeAnimation CABasicA ...

  2. iOS 仿百度外卖,饿了么-商品列表页

    今天带来的是仿百度外卖的商品列表页 下载地址 先看下效果图 这个主要是通过 - (void)selectRowAtIndexPath:(nullableNSIndexPath *)indexPath ...

  3. android仿百度外卖波浪_头像随波浪漂浮效果—仿Android百度外卖

    前几天看到有iOS仿百度外卖的个人页,所以就随手撸了个Android.效果图如下: demo.gif 源码 改造轮子 轮子就不重复造了,github上已经有实现波浪的效果WaveView,WaveVi ...

  4. 【IOS】高仿百度传课

    高仿百度传课 高仿百度传课iOS版,版本号:2.4.1.2 运行环境:xcode6.3 ios8.3 (再往上系统没有测试) github源码链接:https://github.com/looking ...

  5. 高仿百度传课iOS版,版本号2.4.1.2

    高仿百度传课iOS版,版本号:2.4.1.2 运行环境:xcode6.3  ios8.3 (再往上系统没有测试) github源码链接:https://github.com/lookingstars/ ...

  6. iOS高仿百度传课,版本号2.4.1.2

    高仿百度传课iOS版,版本号:2.4.1.2 运行环境:xcode6.3  ios8.3 (再往上系统没有测试) github源码链接:https://github.com/lookingstars/ ...

  7. html5.js百度网盘,HTML5 Canvas+js仿百度网盘扫描文件过程加载动画

    HTML5 Canvas+js仿百度网盘扫描文件过程加载动画 这是一款简单的HTML5 Canvas+js仿百度网盘扫描文件过程加载动画效果,网盘文件扫描百分比加载动画特效. var w=docume ...

  8. 高仿百度传课应用客户端源码iOS版

    高仿百度传课iOS版,版本号:2.4.1.2 运行环境:xcode6.3  ios8.3 (再往上系统没有测试) 转载请注明出处,不可用于商业用途及不合法用途. 如果你觉得不错,欢迎  star  哦 ...

  9. 仿百度壁纸客户端(五)——实现搜索动画GestureDetector手势识别,动态更新搜索关键字

    仿百度壁纸客户端(五)--实现搜索动画GestureDetector手势识别,动态更新搜索关键字 百度壁纸系列 仿百度壁纸客户端(一)--主框架搭建,自定义Tab + ViewPager + Frag ...

最新文章

  1. javax.crypto.BadPaddingException: Given final block not properly padded解决方案
  2. 做diff_Vue3.0时代你必须了解的:diff算法原理和优化
  3. python+pywinauto之PC端自动化一
  4. 常见计算机问题 内存篇
  5. POJ 2420 A Star not a Tree?【爬山法】
  6. 移动前端自适应解决方案和比较
  7. CSS布局讲解-float浮动布局使用
  8. 众智动力java_Java泛型简明教程
  9. python3.6下载opencv_ubuntu16.04+anaconda3+python3.6安装OpenCV3
  10. 利用Aria2和Pandown实现科学下载百度云资源
  11. 类似endnote_除了EndNote,竟还有如此强大的文献管理软件!重点是正版免费!
  12. linux那些事之page fault(do_fault)(5)
  13. 《恐怖电脑》技术支持
  14. c语言灵异事件之“字符串被吞”
  15. C++:实现量化N阶导数运算测试实例
  16. 信息安全-网站安全需求分析与安全保护工程(一)
  17. ROS与Web交互控制显示
  18. ip地址配置 mongodb_【已解决】给MongoDB限制IP访问
  19. 卡耐基《人性的弱点》精华总结
  20. python idle使用教程_pythonidle中文教程

热门文章

  1. 计算机水冷科学吗,差价一倍的水冷性能究竟差多少?真相让你大吃一惊!
  2. Arduino nano ID门禁卡
  3. 三相一体式电流互感器选型
  4. window操作系统安装多个版本的nodejs——nodejs版本控制工具nvm
  5. Some Tips in Life
  6. AI Studio 精品项目 | NLP实战合集
  7. 教育APP开发的费用由哪些因素决定?
  8. C++第3次实验(基础班)—选择结构程序设计(参考答案)-项目1:个人所得税计算器
  9. Ubuntu安装oh my tmux(配置tmux和.tmux)
  10. 精益数据分析 - 前言