iOSQuartz2D-02-绘制炫酷的下载进度条

发布时间:2015-08-17 02 IOSQUARTZ2D

效果图

171205354102612.gif

实现思路

  • 要实现绘图,通常需要自定义一个UIView的子类,重写父类的- (void)drawRect:(CGRect)rect方法,在该方法中实现绘图操作
  • 若想显示下载进度,只需要实例化自定义子类的对象(若是storyboard中控件,只需修改控件的class属性为自定义子类的类名即可)
    • 171206038637718.png
  • 效果图所示的效果其实是绘制一个圆弧,动态的改变终点的位置,最终达到一个封闭的圆
  • 中间的文字是一个UILabel控件,根据进度动态改变文字的现实

实现步骤

  • 自定义一个UIView的子类

    //提供一个成员属性,接收下载进度值
    @property (nonatomic, assign) CGFloat progress;
  • 重写成员属性progress的setter

    //每次改变成员属性progress的值,就会调用它的setter
    - (void)setProgress:(CGFloat)progress
    {
        _progress = progress;
        //当下载进度改变时,手动调用重绘方法
        [self setNeedsDisplay];
    }
  • 重写- (void)drawRect:(CGRect)rect(核心

    - (void)drawRect:(CGRect)rect
    {
        //设置圆弧的半径
        CGFloat radius = rect.size.width * 0.5;
        //设置圆弧的圆心
        CGPoint center = CGPointMake(radius, radius);
        //设置圆弧的开始的角度(弧度制)
        CGFloat startAngle = - M_PI_2;
        //设置圆弧的终止角度
        CGFloat endAngle = - M_PI_2 + 2 * M_PI * self.progress;
        //使用UIBezierPath类绘制圆弧
        UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:center radius:radius - 5 startAngle:startAngle endAngle:endAngle clockwise:YES];
        //将绘制的圆弧渲染到图层上(即显示出来)
        [path stroke];
    }

转载于:https://www.cnblogs.com/theDesertIslandOutOfTheWorld/p/4736244.html

更多相关推荐


02-NLP-03-主题模型

发布时间:2018-06-03 NLP 02
PPT什么是主题模型:给定一篇文章X,区分出他是什么主题Y。 理理解整个过程,涉及到比较复杂数学推导。⼀一般来说,从公式1一直推导到公式100,⼤大部分同学会在公式10左右的时候,就关了了直播,洗洗睡了了所以,我今天用3个不不同版本的讲解,从简单到复杂,一步步理理解主体模型。直观版:假设某企业想要招聘⼀一个工程师,他们收到了一把的简历,他们想直接通过简历来看谁是大牛,谁是彩笔。实质就是通过一次次经...

程序运行过程内存分析02

发布时间:2018-04-18 02 程序运行
packagetheChildOfGod.bjxy.oop;publicclassStudent{//静态的数据Stringname;intid;intage;Stringgender;intweight;Computercomputer;//动态的行为publicvoidstudy(){System.out.println(name+"在学习");}publicvoidsayHello(Stri...

自学马特拉布02

发布时间:2019-08-29 马特拉 02
将matlab的计算结果导入excel依次导入是很简单的:a={'Anne','Bob','Cindy','Eric'};b={'test1';'test2';'test3';'test4'};c=[1234;5678;9123;4567];xlswrite('01data.xlsx',a,1,'B1:E1');xlswrite('01data.xlsx',a,1,'A2:A5');xlswrit...

我的大学校园风光(2004-02-24 拍摄 共12幅)

发布时间:2005-05-05 02 2004
2004-02-24主楼2004-02-24一教2004-02-24行政楼前一角2004-02-24行政楼前2004-02-24新体育场2004-02-24网球场2004-02-24四食堂2004-02-24老一二三栋2004-02-24老五栋2004-02-24经贸楼前2004-02-24二教2004-02-24逸夫楼...

2016-02-20 web view

发布时间:2016-02-20 02 2016
  #import"MedDetitleViewController.h" @interfaceMedDetitleViewController()<UIScrollViewDelegate,UIWebViewDelegate>{  UIImageView*imagershujuMed;  UILabel*tiwuxianLabmed;  UIScrollView*scrviewll;...

crm开发总结02

发布时间:2018-11-14 JAVA 02 WEB开发 编程语言
1、eclipse当中配置环境变量classpath:.classpath文件2、mybatis的配置文件名称随意:不一定是:mybatis-config.xml不一定是:SqlMapper.xml这些文件的名字都是可以配置的。但有要求,这些配置文件需要放到类路径下。什么是类路径?bin目录。 在eclipse当中,和src同级目录下有一个bin目录, bin目录下存放的是class文件,实际上b...

2019/02/18学习记录

发布时间:2019-02-19 02 2019
1.一种写法的两种不同形式cout<<setiosflags(ios::fixed)<<setprecision(2);等价于cout<<setprecision(2)<<setiosflags(ios::fixed);2.T1064奥运奖牌计数思路cin>>n;for(i=1;i<=n;i++){ cin>>a[i][...

西瓜书笔记02:支持向量基

发布时间:2018-08-15 02 向量
支持向量基@[拉格朗日乘子法|对偶问题|KKT条件|核函数|hinge损失]存在多个超平面将样本划分的情况下,选择对训练样本局部扰动容忍性最好的。间隔与支持向量划分超平面的法向量为w=(w1;w2;...;wd)w=(w1;w2;...;wd)w=(w_{1};w_{2};...;w_{d}),则超平面为wTx+b=0wTx+b=0w^{T}x+b=0。任一点x到超平面(w,b)距离为r=∣∣wT...

QM课程02-外部功能

发布时间:2014-03-02 02 QM
质量计划·对质量计划和检验计划进行基本数据的管理·物料说明·检验计划质量检验·触发检验·具有检验计划选择和样本计算的检验处理·打印采样和检验的车间文档·记录结果和缺陷·做出使用决策并触发后续行为质量控制·在质量级别历史的基础上的动态样本确定·使用质量控制图表的统计处理控制技术的应用·检验批量的质量记分·用于处理内部或外部问题并开始修正活动以改正问题的质量通知单·被连接到SAP工作流程功能的检验批量...

HQL 02

发布时间:2018-10-31 02 HQL
1.原生sqlhql实现不了的功能,可以考虑使用原生sqla.配置关系麻烦b.复杂sql查询...

第二冲刺阶段个人进度02

发布时间:2016-06-23 02 冲刺
昨天:做了listview的header头布局和监听listview的滚动事件今天:接着昨天,监听listview中的ontouch()事件和加载最新的数据遇到的困难:无法隐藏header而且在下拉后数据加载出现了问题转载于:https://www.cnblogs.com/wanzitou/p/5609783.html...

第二阶段冲刺02

发布时间:2019-05-28 02 冲刺
1、整个项目的预期任务量(任务量=所有工作的预期时间)和目前已经花的时间(所有记录的‘已经花费的时间’),还剩余的时间(所有工作的‘剩余时间’)。第二阶段工作预期任务:完成整个App的所有功能,并将其部署到云服务器,利用外网可以访问。所有工作预期时间:100h;目前已经花费时间:7h;还剩余时间:93h;2、任务看板图片:3.团队会议照片: 4.燃尽图: 转载于:https://www.cnblo...

第一阶段SCRUM冲刺 02

发布时间:2019-05-07 02 SCRUM
团队开发第二天,对于细分任务模块,开始进行对于网站模板的重构。昨天的成就:团队找到合适网站模板,熟悉找到的模板,并进行网站模板的色调搭配适合“校园知网”项目。遇到的困难:寻找模板的过程以及讨论色调的过程,团队成员出现了分歧。今天的任务:细分模块至个人,开始进行编程;编写任务看板。转载于:https://www.cnblogs.com/Qi77/p/11067566.html...

第一阶段SCRUM冲刺02

发布时间:2019-05-06 02 SCRUM
昨天创建了自己的helloworld程序,配置了模拟器,并运行成功。遇到的问题gradle版本的配置,以及AVD安装失败不过都已成功解决。今天准备做一个简单的登录功能。 转载于:https://www.cnblogs.com/1061321925wu/p/11060931.html...

值传递和引用传递02

发布时间:2015-10-16 02 传递
  让我们再来看有关值传递和引用传递的例子://值传递,传递的是这个值的本身intn=10;intm=n;m=40;Console.WriteLine(n);//10Console.WriteLine(m);//40//引用传递,传递的是对象的引用//p1p2共同指向了同一个堆上的地址//通过p2改变age,p1所指向的age也会跟着改变的Personp1=newPerson();p1.age=2...

我就是想找个人聊聊天,说说我这近四年来的经历-02

发布时间:2015-05-11 这近 02
   我的大学,基本就是睡觉、游戏、玩buzz(G+前身)、钻研佛教,我是一个迷醉在自己世界中的人,如果不是工作需要,我想我现在可能也走不出自我,我避世   高中的时候迷上传奇,极度上瘾,辍学了两个月。办了休学手续后,留级接着上学。因为时常和老同学联系,所以这次人际关系的隔离感不是太强,也能很快和新同学玩到一起去。为了防止我再度上网,我母亲随我伴读。因为我妈看得太紧,几乎没有时间上网,而且我经济被...

构建之法阅读笔记02

发布时间:2016-04-01 02 笔记
                 构建之法阅读笔记02                          ——代码规范   《构建之法》这本书的第四章名为“两个合作”,真的像老师说的,这一章给我的感触很多,下一篇阅读笔记中我还会就这一章的问题发表我的浅谈。今天我想说的是有关“代码规范”的问题。   不得不承认,邹欣老师在书中讲述的很多问题都是看似是个小问题,小到我们起初根本不会重视,但是随着编写的...

【02期】你能说说Spring框架中Bean的生命周期吗?

发布时间:2021-03-08 02 SPRING
首先简单说一下(以下为一个回答的参考模板)1、实例化一个Bean--也就是我们常说的new;2、按照Spring上下文对实例化的Bean进行配置--也就是IOC注入;3、如果这个Bean已经实现了BeanNameAware接口,会调用它实现的setBeanName(String)方法,此处传递的就是Spring配置文件中Bean的id值4、如果这个Bean已经实现了BeanFactoryAware...

【02】后端初步学习笔记

发布时间:2018-02-12 02 笔记
后端初步学习笔记1.MySQL常用指令cmd/powershell部分mysqld--install/--remove 安装/移除mysql服务netstart/stopmysql 启动/关闭mysql服务mysql-uroot-p 以root用户登陆mysql mysql部分showdatabases; 查看数据库use库名称; 使用某个数据库showtables; 查看这个库里的表select...

寻找水王02

发布时间:2016-05-26 02 水王
题目:      这次的题目是对第一次题目的一个扩展:随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了总的1/4,如何从发帖列表中快速找到他们?程序设计思想:     这次程序的思路和上次思路一致,不同的是这次需要三个计数器。源代码:#include<iostream>#include<string>usingname...

2021-02-03

发布时间:2021-02-03 02 2021
Markdown学习标题三级标题四级标题字体Hello、worldHello、worldHello、worldHello、worldHello、world引用选择狂神说Java分割线图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-407lsiyk-1612324612642)(C:\Users\aa\Desktop\QQ截图20210203112348.png)]...

2021-02-06

发布时间:2021-02-06 02 2021
卸载JDK1.删除Java的安装目录2.删除Java_HOME3.删除Path下关于Java的目录4.在cmd中输入jaca-version(找不到命令说明卸载完成)安装JDK1.百度搜索JDK8找到下载地址(oracle)2.同意协议3.下载电脑对应版本4.双击安装JDK5.记住安装路径6.配置环境变量我的电脑–>属性–>高级系统设置环境变量–>新建系统变量–>变量名Ja...

2021-02-07

发布时间:2021-02-07 02 2021
常用关键字[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JnqN8ko6-1612679978304)(C:\Users\aa\Pictures\QQ浏览器截图\QQ浏览器截图20210207133736.png)]所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始首字母之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数...

2021-02-06

发布时间:2021-02-06 02 2021
打开cmd方式1.开始+系统+命令提示符2.Win键+R输入cmd打开控制台(推荐使用)3.资源管理器的地址栏前面加上cmd路径管理员方式运行:开始+系统+右键更多以管理员方式运行常用的Dos命令1.#盘符切换:2.#查看当前目录下的所有文件dir3.#切换目录cd#跨盘符切换cd/d4.#返回上一级cd..5.#清理屏幕cls6.#退出终端exit7.#查看电脑ipipconfig8.#ping...

第02章笔记

发布时间:2015-05-26 02 笔记
主要内容:了解视窗程序的基本概念;建立第一个视窗程序。一:视窗程序的基本概念1:主程序类每个视窗程序都要用一个主程序类,该类应继承自MFC中的CWinApp类。该类负责创建视窗程序中的主窗口对象、文档对象、视图对象等,它也是整个程序的入口。该主程序类应重写BOOLCWinApp::InitInstance()函数,并在该函数中创建相应的对象。程序中应创建该主程序类的全局对象。2:主窗口类除了对话框...

2016/02/06 codes

发布时间:2016-02-06 02 2016
for(i=0,I=p.length;I>i;i++)for(c=p[i];c.n){if(b){if(c,f){for(m=0,n=c.f.length;n>m;m++)if(c.f[m]=b){c.f.splice(m,1);break}!c.f.length&&deletec.f}for(dinc.n)if(c.n[e](d)&&c.n[d].f)...

2016/02/27 codes

发布时间:2016-02-27 02 2016
b2Math.b2Abs=function(a){returna>0.0?a:-a;};b2Math.b2AbsV=function(a){varb=newb2Vec2(b2Math.b2Abs(a.x),b2Math.b2Abs(a.y));returnb};b2Math.b2AbsM=function(A){varB=newb2Mat22(0,b2Math.b2AbsV(A.col1),...

2016/02/28 codes

发布时间:2016-02-28 02 2016
pair.SetRemoved();if(b2BroadPhase.s_validate){this.ValidateBuffer();}},commit:function(){vari=0;varremoveCount=0;varproxies=this.m_broadPhase.m_proxyPool;for(i=0;i<this.m_pairBufferCount;++i){varpa...

2016/02/22 codes

发布时间:2016-02-22 02 2016
varcanvas;vardelta=[0,0];varstage=[window.screenX,window.screenY,window.innerWidth,window.innerHeight];getBrowserDimensions();varthemes=[["#10222B","#95AB63","#BDD684","#E2F0D6","#F6FFE0"],["#362C2A",...

2019.01.02-dtoj-4100-yjqb

发布时间:2019-01-02 02 2019.01
题目描述:给定一个二分图,两个部分我们称之为A部和B部。对于一个A部的点A,其在B部中相邻的点是一个连续的区间,记为[Li,Ri]。现在你需要找一个尽量大的匹配,使之在具有匹配的性质的前提下,所有匹配边互不相交。(即不存在两条匹配边(Ai,Bx),(Aj,By),使得(i<j,x>y))。算法标签:dp,splay思路:令f[i][j],i表示A部匹配到第i个,j表示B部匹配到第j个有...

2018.11.02 NOIP模拟 距离(斜率优化dp)

发布时间:2018-11-02 02 2018.11
传送门分四个方向分别讨论。每次枚举当前行iii,然后对于第二维jjj用斜率优化dpdpdp。f[i][j]=(j−k)2+mindisk2f[i][j]=(j-k)^2+mindis_k^2f[i][j]=(j−k)2+mindisk2​其中mindismindismindis表示离第iii行的最短距离。这个显然可以斜率优化代码转载于:https://www.cnblogs.com/ldxcaic...

工程02

发布时间:2019-10-20 02 工程
职业规划工程依赖技术的发展,技术是实现工程的手段。然而工程师需要解决产品设计与开发所面临的所有技术问题。而处于大学期间的我们,正在度过人生中工程生涯的一个重要节点,需要选好以后的职业技能发展方向。所以,我们需要适应校园环境。进入大学第一个月,新生处在一个陌生的环境,要尽快熟悉校园环境,摆脱陌生感。在熟悉校园环境的同时,还需了解校园资源,学会借助网络掌握信息。从而了解各行各业的信息,进行自己的职业规...

端口02 - 零基础入门学习汇编语言68

发布时间:2011-05-17 02 68
第十四章:端口02 让编程改变世界Changetheworldbyprogram CMOSRAM中存储的时间信息 在CMOSRAM中,存放着当前时间:秒:00H分:02H时:04H日:07H月:08H年:09H这6个信息的长度长度都为1个字节。 这些数据以BCD码的方式存放:数码:01234BCD码:00000001001000110100 数码:56789BCD码:010101100111100...

2021-02-20

发布时间:2021-02-20 02 2021
10.输出所有的"水仙花数".所谓"水仙花数"是指这样的一个三位数:其各位数字的立方和等于该数本身。例如:371是一个"水仙花数",371=33+73+1^3.11…编写一个程序输出一定范围内所有的完全数,如果一个数等于它的因子之和,则称该数为“完全数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完全数”。12…孪生素数就是指相差2的素数对。例如:3和5,5和7,11和13输入一个正...

第一阶段SCRUM冲刺 02

发布时间:2019-05-07 02 SCRUM
团队开发第二天,对于细分任务模块,开始进行对于网站模板的重构。昨天的成就:团队找到合适网站模板,熟悉找到的模板,并进行网站模板的色调搭配适合“校园知网”项目。遇到的困难:寻找模板的过程以及讨论色调的过程,团队成员出现了分歧。今天的任务:细分模块至个人,开始进行编程;编写任务看板。转载于:https://www.cnblogs.com/Qi77/p/11067566.html...

第二次冲刺阶段02

发布时间:2016-06-23 02 冲刺
站立会议21)昨天,我们又新加了常用并且按起来比较顺手的快捷键组合,但是没找到一个媒介在两个窗口之间传递HotKey。2)今天任务:用户可以根据选项自定义快捷键。3)遇到的问题:解决了两个窗口之间传递快捷键的参数的问题。现在实现了根据用户选择的快捷键组合来注册相应的快捷键。但是在软件不重启的情况,每次打开设置页面,comboBOX显示一直都是默认的快捷键组合 Ctrl+Shift+A。然后如果重启...

构建之法阅读笔记02

发布时间:2019-03-23 02 笔记
《构建之法》02书中有一段话让我感触很深:解决大问题固然让人感觉美妙,但是把小问题真正解决好,也不容易,我们回头看看博客园,CSDN等IT人士云集的网站,每天都有很多宏大的新想法,惊世骇俗的评论冒出来,争论美女\张飞\巨石的重构问题,对一些通用的框架,平台发出一些人云亦云的评论等。这些文字。大多数会转化为墨水,把扇面涂黑,让后人在上面写下金字。1.过去的做法:这何尝不是现实生活中的我们,每次拿到老...

构建之法读书笔记02——个人技术和流程

发布时间:2017-12-09 02 读书笔记
阅读感悟-个人技术与流程我过去怎么做的?编程很多时候都喜欢复制粘贴,在别人的程序上去改,觉得这样省事,拿的都是别人的代码。看书之后,这样做为什么不好?首先,这样做少了一个自己敲得过程,说白了,代码是别人的,即时改了还是别人的,不是自己的东西,对自己的练习没有任何帮助。其次,这样做看似节约时间,其实在改的过程中无形之间浪费更多时间。如何解决问题?无论是在以后开发项目,还是练习过程中,都不要直接复制粘...

02:不吉利日期

发布时间:2017-03-14 02 吉利
总时间限制: 1000ms内存限制: 65536kB描述在国外,每月的13号和每周的星期5都是不吉利的。特别是当13号那天恰好是星期5时,更不吉利。已知某年的一月一日是星期w,并且这一年一定不是闰年,求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字。(w=1..7)输入输入有一行,即一月一日星期几(w)。(1<=w<=7)输出输出有一到多行,每行一个月份,表示该月的...

2021-02-28

发布时间:2021-02-28 02 2021
重分布路由策略实验实验拓扑图:配置地址:RIPospf的划分:重发布:路由策略:解决环路:...

咖啡角软件开发--界面组日志02

发布时间:2016-01-07 -- 02
这几天东边断网,所以可能发的有些晚了。今天(1月6日)组要是熟悉一下软件的使用,以及VC,VS的基本操作。我们打算使用MFC编程,基本界面就按照前面设计的那样。在VS的安装过程中出现了一些问题,导致无法找到启动程序,原因可能是以前卸载有残留。暂时打算用VC转载于:https://www.cnblogs.com/huoshuilai/p/5109911.html...

Win32汇编窗口程序设计[02]--RadASM简介

发布时间:2011-03-05 02 WIN32
RadASM的作用相对简单,下面介绍一下一些常用的功能:  1>语言的切换:Option-->Language  2>编译,连接,运行都在Make子菜单下面,当然,界面也已经有了.注意,资源文件的编译选项也在Make下面,在使用资源文件的时候一定记得要编译一下资源.  3>字体和颜色的设置分别是:Option-->FontOption和Option-->Colo...

雠殇02

发布时间:2010-05-05 02
李靖宇却像根本没看见般依旧沉默的低着头。气氛益发的冷冽,直到冰裂前的瞬间李靖宇才小声的回答道:“B”。“什么?大点声!”英语老师已经处于崩溃的边缘,“B,选B!”李靖宇的妥协非但没起到任何作用反更惹得全班同学一阵哄堂大笑。一向自以为“怀才不遇”、“生不逢时”的英语老师竟因为一个自己平日最不戴见的穷学生被众学生笑堂,实为生平奇耻大辱,顿时恼羞成怒发起彪来,“选个屁!我问的是填空题!”边吼边把手中的习...

[02-28][07最新恐怖大片][宫女][DVD中字][已测][21:57]

发布时间:2008-02-28 02 28
◎译  名 宫女◎片  名 ShadowsinthePalace◎年  代 2007◎国  家 韩国◎类  别 恐怖/惊悚◎语  言 韩语/英语◎字  幕 中文◎文件格式 XviD+AC3◎视频尺寸 640x352◎文件大小 50x15MBx2◎片  长 113mins◎导  演 KimMi-Jeong◎主  演 朴真熙Jin-hiePark      林贞恩Jeong-eunLim      徐...

架构师实战入门-02架构分析方法和系统组成结构

发布时间:2018-06-06 02 架构师
本文章出自架构师实战入门实战课程,介绍了架构分析方法:系统工程思维,系统分解思维,面向过程分析,面向对象分析的核心要点。以及单体架构(ALLINONE)和分布式系统(复杂系统)架构不同视角下的系统组成结构。一、架构分析方法-大纲系统工程思维系统分解思维面向过程思维面向对象思维架构师应该如何分析1.1系统工程思维系统工程:把系统以及系统的相关事项当成一个整体1、系统角度:系统是一个整体,在架构中要考...