自定义Progress
来源:互联网 发布:网络菲儿的个人资料 编辑:程序博客网 时间:2024/06/02 15:57
1,创建一个类继承UI View
class ProgressControl: UIView { required init(coder aDecoder: NSCoder) { super.init(coder:aDecoder) } override init(frame: CGRect) { super.init(frame: frame) // 设置背景为白色 self.backgroundColor = UIColor(white: 1, alpha: 0) } var indictorLabel:UILabel? override func drawRect(rect: CGRect) { var ctx = UIGraphicsGetCurrentContext() // 1,以宽度的一半为圆心 var r = rect.width/2 // 2,添加一个标签 if indictorLabel == nil{ indictorLabel = UILabel(frame: CGRect(x: r-20, y: r-20, width: 60, height: 40)) addSubview(indictorLabel!) } var fe = getProgressValue() * 100 indictorLabel?.text = "\(fe)%" // 3,添加一个圆形背景 CGContextAddArc(ctx, r, r, r, 0, 3.141592653*2, 0) CGContextSetRGBFillColor(ctx, 0.7, 0.7, 0.7, 1) CGContextFillPath(ctx) // 4,添加一个扇形表示进度 CGContextAddArc(ctx, r, r, r, 0, 3.141592653*2*_progressValue, 0) CGContextAddLineToPoint(ctx, r, r) CGContextSetRGBFillColor(ctx, 0, 0, 1, 1) CGContextFillPath(ctx) }
private var _progressValue:CGFloat = 0 func getProgressValue()->CGFloat{ return _progressValue } func setProgressValue(value:CGFloat){ if value < 1{ _progressValue = value } setNeedsDisplay() }}
2,ViewController
@IBAction func addProgressBtnPressed(sender: AnyObject) { pc.setProgressValue(pc.getProgressValue()+0.1) } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. pc = ProgressControl(frame: CGRect(x: 100, y: 100, width: 100, height: 100)) self.view.addSubview(pc) } private var pc:ProgressControl!
0 0
- 自定义progress
- 自定义Progress
- 自定义Progress
- 自定义progress
- Android 自定义Progress Bar
- Android 自定义Progress Bar
- Android 自定义Progress Bar
- andorid自定义progress
- Android自定义progress
- 自定义Android progress bars
- android progress自定义进度条
- 自定义Progress进度条
- 自定义Progress进度条
- 自定义Progress进度条
- 自定义view 自定义进度条 progress
- 一种简单的自定义Progress
- 自定义Dialog之Progress(二)
- 自定义ProgressBar的progress异常
- JAVA UTF-8编码中文转拼音
- 使用charles proxy for Mac来抓取手机App的网络包
- [java] 匿名内部类
- PHP打开文本文件的方式
- POJ2151----Check the difficulty of problems(概率dp)
- 自定义Progress
- PHP表单提交后引号前自动加反斜杠的原因与处理办法
- Spring注解详解
- 人性面前,有多少感情能够经得起考验
- 8行代码教你搞定导航控制器全屏滑动返回效果
- 【计蒜客系列】挑战难题29:奇异家庭
- POJ1426 Find The Multiple(bfs)
- 你是哪种类型的拖延症患者?
- 导出的Excel,数字是货币格式。如1,2323,910