博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
swift 绘制下载进度
阅读量:6223 次
发布时间:2019-06-21

本文共 1551 字,大约阅读时间需要 5 分钟。

hot3.png

class ProgressView: UIView {    // MARK:- 定义属性    var progress : CGFloat = 0 {        didSet {            setNeedsDisplay()        }    }        // MARK:- 重写drawRect方法    override func drawRect(rect: CGRect) {        super.drawRect(rect)        // 获取参数        let center = CGPoint(x: rect.width * 0.5, y: rect.height * 0.5)        let radius = rect.width * 0.5 - 3        let startAngle = CGFloat(-M_PI_2)        let endAngle = CGFloat(2 * M_PI) * progress + startAngle                // 创建贝塞尔曲线        let path = UIBezierPath(arcCenter: center, radius: radius, startAngle: startAngle, endAngle: endAngle, clockwise: true)                // 绘制一条中心点的线        path.addLineToPoint(center)        path.closePath()                // 设置绘制的颜色        UIColor(white: 1.0, alpha: 0.4).setFill()                // 开始绘制        path.fill()    }}

 

progressView.bounds = CGRect(x: 0, y: 0, width: 50, height: 50)        progressView.center = CGPoint(x: UIScreen.mainScreen().bounds.width * 0.5, y: UIScreen.mainScreen().bounds.height * 0.5)                // 3.设置控件的属性        progressView.hidden = true        progressView.backgroundColor = UIColor.clearColor()
// 4.设置imagView的图片        progressView.hidden = false        imageView.sd_setImageWithURL(getBigURL(picURL), placeholderImage: image, options: [], progress: { (current, total) -> Void in            self.progressView.progress = CGFloat(current) / CGFloat(total)            }) { (_, _, _, _) -> Void in                self.progressView.hidden = true        }

 

转载于:https://my.oschina.net/zhaodacai/blog/735689

你可能感兴趣的文章
Telegram源码之安卓客户端配置
查看>>
Java精讲:生产者-消费者
查看>>
磊哥测评之数据库SaaS篇:腾讯云控制台、DMC和小程序
查看>>
JS中定时器线程理解
查看>>
记一次PMML文件的处理过程
查看>>
阿里云移动端播放器高级功能---视频下载
查看>>
后端_计算机网络
查看>>
关于大数问题的个人理解
查看>>
每日两道前端面试题 - 20190202
查看>>
用友云开发者中心助你上云系列之在线调试
查看>>
sequelize-cli 使用记录
查看>>
区块链共识协议最详细的分析
查看>>
JS难点之hoist
查看>>
2018的年终总结和2019新目标
查看>>
新近爆出的runC容器逃逸漏洞,用户如何面对?
查看>>
还在用AIDL吗?试试EasyMessenger吧
查看>>
LeetCode 318. Maximum Product of Word Lengths
查看>>
百度PaddlePaddle再获新技能 智能推荐、对话系统、控制领域都能搞定!
查看>>
我对JavaScript中this的一些理解
查看>>
前端知识点——图片
查看>>