IOS使用自带的API绘制一个加载进度的圆圈
2015-10-02 13:39
351 查看
新建一个继承UIView类的文件progresscontrol
在这个progresscontrol文件中写入
drawRect中的代码如下
在故事版中添加一个按钮控件,按住control拖入viewcontroller文件中选择IBAction
运行之后是一个黑色的背景,接着回到progresscontrol文件中
把背景设置为白色全透明的,就完成了。
在这个progresscontrol文件中写入
private var _progressValue:CGFloat = 0 internal func getProgressValue()->CGFloat{ return _progressValue } //在外界获取它的值 internal func setProgressValue(value:CGFloat){ _progressValue = value setNeedsDisplay() //重绘 } //在外界修改它的值
drawRect中的代码如下
override func drawRect(rect: CGRect) { // Drawing code var ctx = UIGraphicsGetCurrentContext() //正方形的控件Rect var r = rect.width/2 //坐标中心点 //绘制背景颜色================= CGContextAddArc(ctx, r, r, r, 0, 3.1415926*2, 0) CGContextSetRGBFillColor(ctx, 0.7, 0.7, 0.7, 1) CGContextFillPath(ctx) //=========================== //绘制扇形============== CGContextAddArc(ctx, r, r, r, 0, 3.1415926*2*_progressValue, 0)//弧形 CGContextAddLineToPoint(ctx, r, r)//连线到中心点r,r CGContextSetRGBFillColor(ctx, 0, 1, 0, 1) //填充色 CGContextFillPath(ctx)//填充 //=========================== }
在故事版中添加一个按钮控件,按住control拖入viewcontroller文件中选择IBAction
private var pc : progresscontrol! //全局定义pc,为progresscontrol类型 //动态设置 每点击一次就加0.1 @IBAction func addprogress(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)) // pc.setProgressValue(0.2)//设置值 self.view.addSubview(pc) //添加到画面中 }
运行之后是一个黑色的背景,接着回到progresscontrol文件中
override init(frame: CGRect) { super.init(frame: frame) self.backgroundColor = UIColor(white: 1, alpha: 0) //设置背景为白色全透明 } required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") }
把背景设置为白色全透明的,就完成了。
相关文章推荐
- IOS对象关系映射(ORM)之coreData框架的学习——(三)对使用步骤进行方法封装
- iOS pragma mark要使用
- Xcode 5 + iOS 7免证书(iDP)真机调试与生成IPA全攻略
- XCode6.0 的iOS免证书真机测试方法
- [IOS]Xcode7免开发者帐号真机调试运行程序
- 升级iOS9和Xcode7后应用崩溃解决方案
- iOS 集成支付宝支付
- IOS开发-代码规范
- iOS 编辑代码规范
- iOS中的代码规范
- iOS代码规范
- iOS:进度条控件的详细使用
- 从iOS9,EI Caption和Xcode7的更新中看到什么?
- iOS搜索栏简介
- IOS开展:导航中添加多个button并加入左侧logo
- iOS-GCD常用代码小结
- iOS开发_打包ipa_可运行在越狱手机
- iOS多线程
- iOS KVO和KVC及广播
- iOS线程安全