iOS空心圆下载进度指示器控件

self.layer = [CAShapeLayer layer];
    self.layer.frame = CGRectMake(0, 0, 100, 100);
    self.layer.position = self.view.center;
    self.layer.lineWidth = 10.0;
    self.layer.fillColor = [UIColor clearColor].CGColor;
    self.layer.strokeColor = [UIColor lightGrayColor].CGColor;
    self.layer.lineCap = kCALineCapSquare;
    /*
     CA_EXTERN NSString *const kCALineCapButt
     __OSX_AVAILABLE_STARTING (__MAC_10_6, __IPHONE_3_0);
     CA_EXTERN NSString *const kCALineCapRound
     __OSX_AVAILABLE_STARTING (__MAC_10_6, __IPHONE_3_0);
     CA_EXTERN NSString *const kCALineCapSquare
     */
    UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, 100, 100)];
    self.layer.path = path.CGPath;
    [self.view.layer addSublayer:self.layer];

    self.layer.strokeEnd = 0.0;
    _progress = 0;
    self.timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(updateProgress) userInfo:nil repeats:YES];

//更新下载进度
_progress += 0.01;

    if (self.layer.strokeEnd >= 1) {
        self.timer.fireDate = [NSDate distantFuture];
    }
    else
    {
        self.layer.strokeEnd = _progress;
    }
时间: 2024-11-03 00:33:38

iOS空心圆下载进度指示器控件的相关文章

用 CALayer 定制下载进度条控件

// // RPProgressView.h // CALayer定制下载进度条控件 // // Created by RinpeChen on 16/1/2. // Copyright © 2016年 rinpe. All rights reserved. // #import <UIKit/UIKit.h> @interface RPProgressView : UIView @property (nonatomic, assign) CGFloat progressValue; // 进

用CALayer实现下载进度条控件

用CALayer实现下载进度条 效果: 源码: // // ViewController.m // ProgressView // // Created by YouXianMing on 14/11/18. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import "ViewController.h" @interface ViewController () @property (nonatomic, st

iOS:进度条控件的详细使用

进度条控件:UIProcessView:UIView 功能:顾名思义,用来显示下载进度或者传输数据进度. 属性: @property(nonatomic) UIProgressViewStyle progressViewStyle; //风格类型 @property(nonatomic) float progress;                                   //当前进度 @property(nonatomic, retain) UIColor* progressTi

iOS项目开发实战——自定义圆形进度提示控件

iOS中默认的进度条是水平方向的进度条,这往往不能满足我们的需求.但是我们可以自定义类似的圆形的进度提示控件,主要使用iOS中的绘图机制来实现.这里我们要实现一个通过按钮点击然后圆形进度提示不断增加的效果. (1)新建一个Cocoa Touch Class,注意要继承自UIView.这个是绘制图形的类,绘制一个圆形的背景和扇形的进度.具体实现如下: import UIKit class ProgressControl: UIView { override init(frame: CGRect)

打造Android 最实用的ViewPager 指示器控件

为什么我说它是最实用的 ViewPager 指示器控件呢? 它有以下几个特点: 1.通过自定义 View 来实现,代码简单易懂: 2.使用起来非常方便: 3.通用性高,大部分涉及到 ViewPager 指示器的地方都能使用此控件: 4.实现了两种指示器效果(具体请看效果图) 一.先来看效果图 传统版指示器的效果图: 流行版指示器的效果 二.分析 如果单纯的要实现此功能,相信,大家都能实现,而我也不会拿出来这里讲了,这里我是要把它打造成一个控件,通俗一点讲就是,在以后可以直接拿来用,而不需要修改代

iOS之中国银联移动支付控件升级的问题

自从11月以来,如果用户安装了集成了中国银联手机支付SDK的app,那么在使用银联支付的时候,会发现,不能调用银联支付方式,并且弹出一个提示”银联手机支付已升级请更新客户端8100010”.如下图: 然后,根据这个提示,我们有理由相信肯定是银联的SDK升级了,然后当然是要进入银联官网查看究竟了,网址为: https://merchant.unionpay.com/portal/login.jsp# 点击进去,很快发现公告: 看到这个公告就豁然开朗了吧... 那么还是老老实实的去下载新的控件了,地

Photoshop和WPF双剑配合,打造炫酷个性的进度条控件

现在如果想打造一款专业的App,UI的设计和操作的简便性相当重要.UI设计可以借助Photoshop或者AI等设计工具,之前了解到WPF设计工具Expression Blend可以直接导入PSD文件或者AI设计文件(当然不是全部特征支持),最近研究了一下,也废了一番周折,好在最后实现了预期的效果.下面将step by step用示例说明如何先用PS构建一个矢量图形模板,然后用Expression Blend导入PSD文件,并获取PATH的Data值,为打造一款炫酷的个性进度条控件构建美观UI.

HslControls组件库 工业控件库 曲线控件 时间控件 管道控件 温度计控件 阀门控件 传送带控件 进度条控件 电池控件 数码管控件等等

本篇博客主要对 HslControls 组件做一个大概的总览介绍,更详细的内容可以参照页面里的子链接,还有github上的源代码,然后进行相关的学习,和使用. Prepare 先从nuget下载到组件,然后就可以使用组件里的各种组件信息了. 在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台输入下面的指令安装: Install-Package HslControls NuGet安装教程  http://www.cnblogs.com/dathlin/p

iOS开发基础篇-手写控件

一.手写控件的步骤 1)使用相应的控件类创建控件对象: 2)设置该控件的各种属性: 3)添加空间到视图中: 4)如果是 UIButton 等控件,还需考虑控件的单击事件等: 二.添加 UIButton 单击事件  [topbtn addTarget:self action:@selector(move:) forControlEvents:UIControlEventTouchUpInside]; 1) addTarget:forControlEvents: 方法定义在 UIControl 类中