ios swift 实现饼状图进度条,swift环形进度条
ios swift 实现饼状图进度条
//
// ProgressControl.swift
// L02MyProgressControl
//
// Created by plter on 7/29/14.
// Copyright (c) 2014 jikexueyuan. All rights reserved.
// import UIKit class ProgressControl: UIView { override init(frame: CGRect) {
super.init(frame: frame)
// Initialization code self.backgroundColor = UIColor(white: 1, alpha: 0)
} required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
} private var _progressValue:CGFloat = 0 public func getProgressValue()->CGFloat{
return _progressValue
} public func setProgressValue(value:CGFloat){
_progressValue = value setNeedsDisplay()
} // Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func drawRect(rect: CGRect)
{
// Drawing code var ctx = UIGraphicsGetCurrentContext() var r = rect.width/2 CGContextAddArc(ctx, r, r, r, 0, 3.141592653*2, 0)
CGContextSetRGBFillColor(ctx, 0.7, 0.7, 0.7, 1)
CGContextFillPath(ctx) CGContextAddArc(ctx, r, r, r, 0, 3.141592653*2*_progressValue, 0)
CGContextAddLineToPoint(ctx, r, r)
CGContextSetRGBFillColor(ctx, 0, 0, 1, 1)
CGContextFillPath(ctx)
} }
viewcontroller:
//
// ViewController.swift
// L02MyProgressControl
//
// Created by plter on 7/29/14.
// Copyright (c) 2014 jikexueyuan. All rights reserved.
// import UIKit class ViewController: UIViewController { @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! override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
} }
使用alertview展示的方案:
let frame = CGRectMake(0, 0, 78, 78)
let window = UIWindow()
window.backgroundColor = UIColor.clearColor()
let mainView = UIView()
mainView.layer.cornerRadius = 12
mainView.backgroundColor = UIColor(red:0, green:0, blue:0, alpha: 0.8) let ai = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.WhiteLarge)
ai.frame = CGRectMake(21, 21, 36, 36)
ai.startAnimating()
mainView.addSubview(ai) window.frame = frame
mainView.frame = frame window.windowLevel = UIWindowLevelAlert
window.center = self.view.center
window.hidden = false
window.addSubview(mainView)
一般的实现方法:
// activityIndicatorView
m_objActivityIndicatorView = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.WhiteLarge)
m_objActivityIndicatorView!.frame = CGRectMake(self.view.frame.size.width/2 - 100, self.view.frame.size.height/2 - 100, 200, 200)
m_objActivityIndicatorView!.hidesWhenStopped = true
m_objActivityIndicatorView!.color = UIColor.blackColor()
m_objActivityIndicatorView!.layer.cornerRadius = 6
m_objActivityIndicatorView!.layer.masksToBounds = true
self.view.addSubview(m_objActivityIndicatorView)
ios swift 实现饼状图进度条,swift环形进度条的更多相关文章
- PSP 进度条 柱状图 饼状图
9号 类别 开始时间 结束时间 间隔 净时间 燃尽图 8::00 8:20 0 20分钟 站立会议 8:20 8:50 0 30分钟 读构建之法 9:20 13:20 120分钟 120分钟 四人小组 ...
- HTML5-svg圆形饼状图进度条实现原理
<svg width="440" height="440" viewbox="0 0 440 440"> <circle ...
- css3实现饼状图进度及环形进度条
1 <!-- 饼图 --> <div class="pie"></div> <hr /> <!-- 环形图 --> &l ...
- iOS 饼状图
首先先看一下效果: 一.创建饼状图对象 创建饼状图对象用到类是PieChartView.h, 代码如下: self.pieChartView = [[PieChartView alloc] ini ...
- iOS:使用贝塞尔曲线绘制图表(折线图、柱状图、饼状图)
1.介绍: UIBezierPath :画贝塞尔曲线的path类 UIBezierPath定义 : 贝赛尔曲线的每一个顶点都有两个控制点,用于控制在该顶点两侧的曲线的弧度. 曲线的定义有四个点:起始点 ...
- 封装构造函数,用canvas写饼状图和柱状图
封装构造函数,用canvas写饼状图和柱状图 封装函数 // 场景 function XDLScence( options ) { this.stage = options.stage; //执行场景 ...
- [BOT]自己动手实现android 饼状图,PieGraphView,附源码解析
本文要介绍的是一个参照手机支付宝app里面记账本功能里的"饼状图"实现的控件.通常app中可能的数据展示控件有柱状图,折线图,饼状图等,如果需要一个包含多种View控件的库,那么 ...
- DevExpress使用之ChartControl控件绘制图表(多坐标折线图、柱状图、饼状图)
最近因为公司项目需要用到WinForm的DecExpress控件,在这里把一些使用方法总结一下. DevExpress中有一个专门用来绘制图表的插件ChartControl,可以绘制折线图.饼状图.柱 ...
- Java-jfree报表(学习整理)----饼状图、柱状图、折线统计图
1.使用的报表工具: jfree报表 2.下载网址: http://www.jfree.org/ 下载之后先解压:如下图 下载后:需要的jar包!如下图: 打开:找到以下的两个jar包 再导入开发项目 ...
随机推荐
- 搭建一个交互式的前端构建环境.md
为了提高开发效率.减少重复的操作,现在几乎全部的前端项目都需要依赖一些构建工具来实现自动化打包,主流的有webpack, gulp, grunt等.加上各种各样的配置文件就会形成了一个相对复杂的构建环 ...
- C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节
C++框架_之Qt的开始部分_概述_安装_创建项目_快捷键等一系列注意细节 1.Qt概述 1.1 什么是Qt Qt是一个跨平台的C++图形用户界面应用程序框架.它为应用程序开发者提供建立艺术级图形界面 ...
- 利用Python进行数据分析——Ipython
利用Python进行数据分析--Ipython 一.Ipython一些常用命令 1.TAB自动补全 2.变量+? 显示相关信息 3.函数名+??可以获取函数的代码 4.使用通配符* np.load? ...
- 酷伯伯实时免费HTTP代理ip爬取(端口图片显示+document.write)
分析 打开页面http://www.coobobo.com/free-http-proxy/,端口数字一看就不对劲,老规律ctrl+shift+c选一下: 这就很悲剧了,端口数字都是用图片显示的: 不 ...
- Jmeter(二十)_Mock接口
首先解释一下什么是mock接口. Mock通常是指,在测试一个对象时,我们构造一些假的对象来模拟与其交互.而这些Mock对象的行为是我们事先设定且符合预期.通过这些Mock对象来测试对象在正常逻辑,异 ...
- Android Support库——support annotations
Android Support库是官方出的支持扩展库,包含了丰富的组件.工具类等,通过在Android SDK Manager中勾选以下两项来获取到. 其中,Android Support Libra ...
- springMVC源码解析--HandlerMethodArgumentResolverComposite参数解析器集合(二)
上一篇博客springMVC源码分析--HandlerMethodArgumentResolver参数解析器(一)中我们已经介绍了参数解析相关的东西,并且也提到了HandlerMethodArgume ...
- springMVC源码分析--HandlerMethodArgumentResolver参数解析器(一)
HandlerMethodArgumentResolver是用来为处理器解析参数的,主要用在HandlerMethod中,每个Resolver对应一种类型的参数,其实现类特别的多. HandlerMe ...
- Android服务——Service
服务 Service 是一个可以在后台执行长时间运行操作而不使用用户界面的应用组件.服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行. 此外,组件可以绑定到服务,以与之进行 ...
- Linux 下的一个全新的性能测量和调式诊断工具 Systemtap,第 1 部分: kprobe
kprobe 的原理.编程接口.局限性和使用注意事项 本系列文章详细地介绍了一个Linux下的全新的调式.诊断和性能测量工具Systemtap和它所依赖的基础kprobe以及促使开发该工具的先驱DTr ...