iOS-仿百度卫士动画
文章首发自查看网址
仿照手机百度卫士的饼状图 之前看到百度安全卫士的首页有一个环形动画挺有意思的,所以就仿照这写了一个。 先上结果图
有两个功能,上面的滑竿是来改变数值大小,并调整饼状图的扇形面积;下面的滑竿是来调整整体图片的上下浮层间距。 总体就这么两个功能,下面开始分布来介绍如何实现的。
视图层级
(一)饼状图 文字部分采用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-仿百度卫士动画相关推荐
- iOS 仿百度外卖,饿了么-点餐效果(加入购物车效果)
今天带来的是仿百度外卖,饿了么-点餐效果既物品加入购物车时的动画效果,这里用的Masonry布局,下滑的效果主要是通过UIBezierPath CAKeyframeAnimation CABasicA ...
- iOS 仿百度外卖,饿了么-商品列表页
今天带来的是仿百度外卖的商品列表页 下载地址 先看下效果图 这个主要是通过 - (void)selectRowAtIndexPath:(nullableNSIndexPath *)indexPath ...
- android仿百度外卖波浪_头像随波浪漂浮效果—仿Android百度外卖
前几天看到有iOS仿百度外卖的个人页,所以就随手撸了个Android.效果图如下: demo.gif 源码 改造轮子 轮子就不重复造了,github上已经有实现波浪的效果WaveView,WaveVi ...
- 【IOS】高仿百度传课
高仿百度传课 高仿百度传课iOS版,版本号:2.4.1.2 运行环境:xcode6.3 ios8.3 (再往上系统没有测试) github源码链接:https://github.com/looking ...
- 高仿百度传课iOS版,版本号2.4.1.2
高仿百度传课iOS版,版本号:2.4.1.2 运行环境:xcode6.3 ios8.3 (再往上系统没有测试) github源码链接:https://github.com/lookingstars/ ...
- iOS高仿百度传课,版本号2.4.1.2
高仿百度传课iOS版,版本号:2.4.1.2 运行环境:xcode6.3 ios8.3 (再往上系统没有测试) github源码链接:https://github.com/lookingstars/ ...
- html5.js百度网盘,HTML5 Canvas+js仿百度网盘扫描文件过程加载动画
HTML5 Canvas+js仿百度网盘扫描文件过程加载动画 这是一款简单的HTML5 Canvas+js仿百度网盘扫描文件过程加载动画效果,网盘文件扫描百分比加载动画特效. var w=docume ...
- 高仿百度传课应用客户端源码iOS版
高仿百度传课iOS版,版本号:2.4.1.2 运行环境:xcode6.3 ios8.3 (再往上系统没有测试) 转载请注明出处,不可用于商业用途及不合法用途. 如果你觉得不错,欢迎 star 哦 ...
- 仿百度壁纸客户端(五)——实现搜索动画GestureDetector手势识别,动态更新搜索关键字
仿百度壁纸客户端(五)--实现搜索动画GestureDetector手势识别,动态更新搜索关键字 百度壁纸系列 仿百度壁纸客户端(一)--主框架搭建,自定义Tab + ViewPager + Frag ...
最新文章
- javax.crypto.BadPaddingException: Given final block not properly padded解决方案
- 做diff_Vue3.0时代你必须了解的:diff算法原理和优化
- python+pywinauto之PC端自动化一
- 常见计算机问题 内存篇
- POJ 2420 A Star not a Tree?【爬山法】
- 移动前端自适应解决方案和比较
- CSS布局讲解-float浮动布局使用
- 众智动力java_Java泛型简明教程
- python3.6下载opencv_ubuntu16.04+anaconda3+python3.6安装OpenCV3
- 利用Aria2和Pandown实现科学下载百度云资源
- 类似endnote_除了EndNote,竟还有如此强大的文献管理软件!重点是正版免费!
- linux那些事之page fault(do_fault)(5)
- 《恐怖电脑》技术支持
- c语言灵异事件之“字符串被吞”
- C++:实现量化N阶导数运算测试实例
- 信息安全-网站安全需求分析与安全保护工程(一)
- ROS与Web交互控制显示
- ip地址配置 mongodb_【已解决】给MongoDB限制IP访问
- 卡耐基《人性的弱点》精华总结
- python idle使用教程_pythonidle中文教程
热门文章
- 计算机水冷科学吗,差价一倍的水冷性能究竟差多少?真相让你大吃一惊!
- Arduino nano ID门禁卡
- 三相一体式电流互感器选型
- window操作系统安装多个版本的nodejs——nodejs版本控制工具nvm
- Some Tips in Life
- AI Studio 精品项目 | NLP实战合集
- 教育APP开发的费用由哪些因素决定?
- C++第3次实验(基础班)—选择结构程序设计(参考答案)-项目1:个人所得税计算器
- Ubuntu安装oh my tmux(配置tmux和.tmux)
- 精益数据分析 - 前言