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)
时间: 2024-10-30 19:01:30

ios swift 实现饼状图进度条,swift环形进度条的相关文章

phpexcel图乱码-无人能解。。phpexcel生成饼状图,在Windows下正常在Linux下乱码!

问题描述 无人能解..phpexcel生成饼状图,在Windows下正常在Linux下乱码! 生成图片导出时,在Windows下整成显示,在Linux上导出的文件里只有乱码 但如果只生成表格,都可以正常显示,这个是代码: include ""PHPExcel.php""; include ""PHPExcel/Writer/Excel5.php""; //用于输出.xls的 //创建新的对象 $objPHPExcel = ne

如何在C#的WinForm中制作饼状图和柱状图

饼状图|柱状图 当我们的软件需要各种饼状图和柱状图来表示数据时,我们或许会想到用Offices中的图形控件或是第三方控件,但现在的第三方控件大都需要注册,有些免费的控件会有开发商的标记等.而对于使用Offices的图形控件来说,并不能在程序中得于很好控制,其使用的简易程度也较低,所以在这我给出在C#中使用GDI+实现饼状图和柱状图跟数据库联接显示数据的方法.  using System;  using System.IO;//用于文件存取  using System.Data;//用于数据访问 

php使用Jpgraph绘制3D饼状图的方法_php技巧

本文实例讲述了php使用Jpgraph绘制3D饼状图的方法.分享给大家供大家参考.具体实现方法如下: <?php include ("src/jpgraph.php"); include ("src/jpgraph_pie.php"); include ("src/jpgraph_pie3d.php"); $data = array(19,23,34,38,45,67,71,78,85,87,90,96); $graph = new Pie

Flash饼状图,柱状图,k线图等动态图表解决资源大全

k线图|饼状图|动态|解决|图表|柱状图 FLASH 3D饼状图,2D饼状图,3D柱状图,2D柱状图,交易K线图,走势图,曲线图.... 各类FLASH+XML图表应用资源,数据直观统计应用的必备工具.... 收集详尽的FLASH商业图表的解决方案.汇总在这里,点击打开下面的网站下载资源. AnyChart Flash Chart Component Aurigma FlashChart B-Line Charting Component Corda's PopChart FusionChart

求一个饼状图或柱状图php生成类或例子

饼状图|柱状图 PHP代码:--------------------------------------------------------------------------------/*-------------------------------------------------------------------------*///// Module Name: 一个3D的饼图类//// Author:Avenger(avenger@php.net) Last Modify: 200

ASP.NET动态创建柱状图与饼状图

asp.net|饼状图|创建|动态|柱状图    做web项目开发,难免会遇到动态创建柱状图或饼型图.现在用.net技术实现动态的创建它们.由于本身比较喜欢足球,更是鲁能的球迷,所以就用了鲁能的主场球迷人数作为例子,请不要太惊奇! 一个人在西安的山东人希望鲁能可以提前夺冠!!呵呵,扯远了-- 动态创建柱状图与饼状图的前台HTML代码如下:  <body>    <form id="Form1" method="post" runat="s

调用xml进行flash动态饼状图的制作

本文详细的介绍了FLASH饼状图的制作方法,手把手教会您. 效果有参考一下国外的饼图,不过他的代码,注释等我也看不懂,英文不懂,所以我就写个中文的好了.大家完全可以根据我的代码改出更多的效果来.编程水平有限,大家谅解一下,不过能正常运行. http://www.yes028.com/amu/ok.swf 增加了xml配置文件,可以直接修改xml文件以达到直接使用的目的. 默认数据来源为piedata.xml但是可以在页面中修改这个数据来源.如下:<object classid="clsid

VC6绘制3D饼状图

自从我的<VC6绘制3D饼状图>做好以后,因为留有bug,心里总觉得不舒服,通过网友的提示,思考之后,一下豁然开朗--VC是如此的强大,不应该这么简单的问题,做起来这么麻烦!还是受了那个.net作者的误导? 其实,最初的思路就是最好的方法!,只不过需要稍作修改.我第一个思路是把扇形一个一个叠起来,这样最后一个扇形在叠的过程中,侧面的边会破坏已经叠好的扇形.哎,为什么那么傻呢!把那个椭圆画完了再叠不是很简单?说干就干,修改,删除多余的代码,先画好分割扇形的椭圆(图1): 图1 然后把这个椭圆作为

asp.net利用OWC生成饼状图、柱状图

OWC(Microsoft Office Web Components)是 Microsoft Office 使用的数据绑定 ActiveX 控件,安装office就有了,其实也可以单独安装的(google下载),使用OWC做了一个饼状图和柱状图,感觉比较简单,开发难度小,效率比较高,OWC的主要原理是按照所传入的数据生成相应的图片,然后开发人员将该图片加载到相应的位置即可实现效果,个人感觉生成的图比较粗糙,但是真的封装的很好,只需按照函数要求输入数据就OK了,可以设置图片的背景色,字体,大小等