Quartz 2D之进度条

先来个样子看看效果

首先想要做这个进度条,你得先会画圆

初始化一个view并在drawRect方法中实现




bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise: 的参数定义了我们想要的arc的圆,以及arc的起点和终点。

所以我们只需要将 ‘’radius‘’ 变成slider的value就可以了

在view的.h文件中初始化一个进度值


在slider的方法中将值传递过去


在.m文件中的drawRect重新写好赋值


这时千万别以为就ok拉。

注意:drawRect如果是手动调用的话,是不会创建跟view相关联的上下文

所以,重点来了 调用progressValue的set方法 并在其中完成重绘


setNeedsDisplay:重绘(系统自动帮你调用drawRect:)

此时进度条完成

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 18- UIBezierPath官方API中文翻译(待校对) ----------------- 华丽的分割线 -...
    醉卧栏杆听雨声阅读 1,094评论 1 1
  • 今天开始自己第一篇简书随笔文章,和iOS学习者共同分享自己在iOS开发中的一些学习经验。以前压根就没有写过...
    ZhengYaWei阅读 658评论 1 5
  • Quartz2D以及drawRect的重绘机制字数1487 阅读21 评论1 喜欢1一、什么是Quartz2D Q...
    PurpleWind阅读 828评论 0 3
  • 前言 本文只要描述了iOS中的Core Animation(核心动画:隐式动画、显示动画)、贝塞尔曲线、UIVie...
    GitHubPorter阅读 3,674评论 7 11
  • 早上七点十分我就醒了,上班后基本形成了这样的生物钟,想再躺下睡会,但怎么也睡不着了。 回想自己年后来上班以来,生活...
    猫哥阅读 379评论 1 3