IOS实现简单的进度条功能

2016-02-19 09:04 36 1 收藏

图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享IOS实现简单的进度条功能的教程,热爱PS的朋友们快点看过来吧!

【 tulaoshi.com - 编程语言 】

本文实例绘制了炫酷的下载进度条,分享给大家供大家参考,具体内容如下

一、实现思路
1、要实现绘图,通常需要自定义一个UIView的子类,重写父类的- (void)drawRect:(CGRect)rect方法,在该方法中实现绘图操作
2、若想显示下载进度,只需要实例化自定义子类的对象(若是storyboard中控件,只需修改控件的class属性为自定义子类的类名即可)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

3、效果图所示的效果其实是绘制一个圆弧,动态的改变终点的位置,最终达到一个封闭的圆
4、中间的文字是一个UILabel控件,根据进度动态改变文字的现实
二、实现步骤
1、自定义一个UIView的子类

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
//提供一个成员属性,接收下载进度值@property (nonatomic, assign) CGFloat progress;

2、重写成员属性progress的setter

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

3、重写- (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];}

以上就是本文的全部内容,希望对大家的学习有所帮助。

来源:http://www.tulaoshi.com/n/20160219/1589407.html

延伸阅读
《无尽的进度条Progress Quest》部分法术效果攻略 提示1:《无尽的进度条》 为半即时回合制游戏,即那种战斗开始后敌我都有行动条,走到头才能行动的回合制。 瞬移:有一定几率让你无视速度,立刻行动,几率随法术等级上升。 兔子的正义铁拳:召...
带文字的进度条 作者:重庆建设集团一所 唐星彬 下载本文示例源代码 在下载安装的过程中,我们经常会看到带有文字的进度条,它能给人一种直观的概念。在VC中也有进度条的控件,但它不能显示文字。今有一CProgressCtrl类的派生类CTextProgressCtrl就有完成这样的工作。两种控件运行情况的对比如下: ...
标签: Web开发
上图展示了传统 Wordpress 模板在浏览器中的载入顺序,Loading 条的出现和消失分布于头尾。 如果我们在页面的不同位置放置多个 JS ,每个 JS 用于逐步增加 Loading 条的宽度,那么这个 Loading 条无疑会更具实用价值。它在一定程度上缓解了访客等待载入的枯燥感,同时还能客观反映页面载入的进度。若再配以 jQuery 内建的动画效果,其完...
新建一个工程 增加一个picture box和command button 加入下面的代码:Dim tenth As Long'条件编译#If Win32 ThenPrivate Declare Function BitBlt Lib "gdi32" _(ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, _ByVal nWidth As Long, ByVal nHeight As Long, _ByVal hSrcDC As Long, ByVal xSrc As...
标签: PS PS基础
今天分享一个进度条的做法,利用图层样式来打造一个色彩绚丽的进度条,按照国际惯例,我们提供PSD的下载,PSD中包含了6种不同色彩的进度条,希望你喜欢。 教程源文件: 绚丽色彩的网页进度条PSD源文件   先看看效果图 新建个文档,我这里用的是800*800像素,填充黑色,并设置一个图层样式。 将背景图层转换为智能对象,执...

经验教程

941

收藏

100
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部