swift实现自定义圆环进度提示效果

 更新时间:2016年05月18日 16:51:34   作者:韩万杰  
这篇文章主要为大家详细介绍了swift实现自定义圆环进度提示效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了swift圆环进度提示效果的实现代码,供大家参考,具体内容如下

效果图:

实现代码:

/
// ViewController.swift
// PureSwiftAuto
//
// Created by 王木木 on 16/5/17.
// Copyright © 2016年 王木木. All rights reserved.
//
 
import UIKit
 
class ViewController: UIViewController {
   
  let cireView = cireview.newAutoLayoutView()
   
  override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    creatCire()
  }
   
  func creatCire(){
    self.view.addSubview(cireView)
    self.cireView.value = 2
    self.cireView.maximumValue = 100
    self.cireView.backgroundColor = UIColor.yellowColor()
    self.cireView.frame = CGRectMake(100, 100, 100, 100)
    wangmumu()
  }
   
  func wangmumu(){
     
    self.cireView.value += 2
     
    if self.cireView.value == 90 {return}
     
    self.performSelector("wangmumu", withObject: self, afterDelay: 0.2)
     
  }
   
}
 
 
class cireview: UIView{
   
  var value: CGFloat = 0 {
    didSet {
      self.setNeedsDisplay()
    }
  }
   
  var maximumValue: CGFloat = 0 {
    didSet { self.setNeedsDisplay() }
  }
  override init(frame: CGRect) {
    super.init(frame: frame)
    self.opaque = false
  }
   
   
  override func drawRect(rect: CGRect) {
    super.drawRect(rect)
     
    //线宽度
    let lineWidth: CGFloat = 10.0
    //半径
    let radius = CGRectGetWidth(rect) / 2.0 - lineWidth
    //中心点x
    let centerX = CGRectGetMidX(rect)
    //中心点y
    let centerY = CGRectGetMidY(rect)
    //弧度起点
    let startAngle = CGFloat(-90 * M_PI / 180)
    //弧度终点
    let endAngle = CGFloat(((self.value / self.maximumValue) * 360 - 90) ) * CGFloat(M_PI) / 180
     
    //创建一个画布
    let context = UIGraphicsGetCurrentContext()
     
    //画笔颜色
    CGContextSetStrokeColorWithColor(context, UIColor.blueColor().CGColor)
     
    //画笔宽度
    CGContextSetLineWidth(context, lineWidth)
     
    //(1)画布 (2)中心点x(3)中心点y(4)圆弧起点(5)圆弧结束点(6) 0顺时针 1逆时针
    CGContextAddArc(context, centerX, centerY, radius, startAngle, endAngle, 0)
     
    //绘制路径
    CGContextStrokePath(context)
     
    //画笔颜色
    CGContextSetStrokeColorWithColor(context, UIColor.darkGrayColor().CGColor)
     
    //(1)画布 (2)中心点x(3)中心点y(4)圆弧起点(5)圆弧结束点(6) 0顺时针 1逆时针
    CGContextAddArc(context, centerX, centerY, radius, startAngle, endAngle, 1)
     
    //绘制路径
    CGContextStrokePath(context)
     
  }
   
  required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
  }
   
}

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章

  • Swift中初始化方法的顺序介绍

    Swift中初始化方法的顺序介绍

    这篇文章主要介绍了Swift中初始化方法的顺序介绍,本文介绍的是了类的初始化方法,需要的朋友可以参考下
    2015-01-01
  • Swift中的条件判断、循环、跳转语句基础学习笔记

    Swift中的条件判断、循环、跳转语句基础学习笔记

    if、for和while循环、switch等这些基本的程序流程控制语句基本上是每个编程语言的标配,在入门环节中,这里对Swift中的条件判断、循环、跳转语句基础学习笔记作了一个整理:
    2016-06-06
  • Swift 并发修改Sendable 闭包实例详解

    Swift 并发修改Sendable 闭包实例详解

    这篇文章主要为大家介绍了Swift 并发修改Sendable 闭包实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Objective-c代码如何移植为Swift代码 Objective-c代码转移到Swift过程介绍

    Objective-c代码如何移植为Swift代码 Objective-c代码转移到Swift过程介绍

    这篇文章主要介绍了Objective-c代码如何移植为Swift代码,Objective-c代码转移到Swift过程介绍,需要的朋友可以参考下
    2014-07-07
  • Swift算法之二叉树实现的方法示例

    Swift算法之二叉树实现的方法示例

    二叉树是计算机科学中最基本也是最重要的树型结构,最常见的二叉树生成算法通常是使用递归或者其他描述类语言的方法来实现。本文主要介绍了Swift算法之二叉树实现的方法,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • 特定用例下的Combine全面使用详解

    特定用例下的Combine全面使用详解

    这篇文章主要为大家介绍了特定用例下的Combine全面使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Swift在控件中添加点击手势的方法

    Swift在控件中添加点击手势的方法

    这篇文章主要介绍了Swift在控件中添加点击手势的方法,本文讲解如何在tableview的headerview中添加点击手势的方法,需要的朋友可以参考下
    2015-01-01
  • 如何使用Swift来实现一个命令行工具的方法

    如何使用Swift来实现一个命令行工具的方法

    这篇文章主要介绍了如何使用Swift来实现一个命令行工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Swift中defer关键字推迟执行示例详解

    Swift中defer关键字推迟执行示例详解

    这篇文章主要给大家介绍了关于Swift中defer关键字推迟执行的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • SwiftUI使用Paths和AnimatableData实现酷炫的颜色切换动画

    SwiftUI使用Paths和AnimatableData实现酷炫的颜色切换动画

    这篇文章主要介绍了SwiftUI使用Paths和AnimatableData实现酷炫的颜色切换动画,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-05-05

最新评论