用 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; // 进度值:0 ~ 1.0
@property (nonatomic, strong) UIColor *progressColor; // 进度条颜色
@end
//
// RPProgressView.m
// CALayer定制下载进度条控件
//
// Created by RinpeChen on 16/1/2.
// Copyright © 2016年 rinpe. All rights reserved.
// #import "RPProgressView.h" @interface RPProgressView () @property (nonatomic, strong) CALayer *progressLayer; @end @implementation RPProgressView - (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// 初始化layer
self.progressLayer = [CALayer layer];
self.progressLayer.backgroundColor = [UIColor redColor].CGColor;
self.progressLayer.frame = CGRectMake(, , , frame.size.height); // 添加子layer
[self.layer addSublayer:self.progressLayer];
}
return self;
} - (void)setFrame:(CGRect)frame
{
[super setFrame:frame];
self.progressLayer.frame = CGRectMake(, , , frame.size.height);
} // 设置进度值
- (void)setProgressValue:(CGFloat)progressValue
{
_progressValue = progressValue; if (progressValue <= ) {
self.progressLayer.frame = CGRectMake(, , , self.frame.size.height);
} else if (progressValue <= ) {
self.progressLayer.frame = CGRectMake(, , self.frame.size.width * progressValue, self.frame.size.height);
} else {
self.progressLayer.frame = CGRectMake(, , self.frame.size.width, self.frame.size.height);
}
} // 设置进度条颜色
- (void)setProgressColor:(UIColor *)progressColor
{
_progressColor = progressColor; self.progressLayer.backgroundColor = progressColor.CGColor;
} @end
demo:https://github.com/RinpeChen/progressViewDemoByRinpe.git
用 CALayer 定制下载进度条控件的更多相关文章
- 用CALayer实现下载进度条控件
用CALayer实现下载进度条 效果: 源码: // // ViewController.m // ProgressView // // Created by YouXianMing on 14/11 ...
- Photoshop和WPF双剑配合,打造炫酷个性的进度条控件
现在如果想打造一款专业的App,UI的设计和操作的简便性相当重要.UI设计可以借助Photoshop或者AI等设计工具,之前了解到WPF设计工具Expression Blend可以直接导入PSD文件或 ...
- HslControls组件库 工业控件库 曲线控件 时间控件 管道控件 温度计控件 阀门控件 传送带控件 进度条控件 电池控件 数码管控件等等
本篇博客主要对 HslControls 组件做一个大概的总览介绍,更详细的内容可以参照页面里的子链接,还有github上的源代码,然后进行相关的学习,和使用. Prepare 先从nuget下载到组件 ...
- iOS:进度条控件的详细使用
进度条控件:UIProcessView:UIView 功能:顾名思义,用来显示下载进度或者传输数据进度. 属性: @property(nonatomic) UIProgressViewStyl ...
- DevExpress的进度条控件ProgressBarControl的使用-以ZedGraph添加曲线进度为例
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...
- 示例:WPF中Slider控件封装的缓冲播放进度条控件
原文:示例:WPF中Slider控件封装的缓冲播放进度条控件 一.目的:模仿播放器播放进度条,支持缓冲任务功能 二.进度: 实现类似播放器中带缓存的播放样式(播放区域.缓冲区域.全部区域等样式) 实现 ...
- Qt编写自定义控件32-等待进度条控件
一.前言 在各种各样的执行任务界面,有时候需要比较多的时间,需要给出一个直观的等待进度条表示当前正在执行的进度,而不至于懵逼在那里,用户不会觉得程序死了还是干嘛了. 等待进度条有好几种办法,比如直接叫 ...
- [转载]ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件
作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...
- ExtJs4 笔记(8) Ext.slider 滚轴控件、 Ext.ProgressBar 进度条控件、 Ext.Editor 编辑控件
本篇要登场的有三个控件,分别是滚轴控件.进度条控件和编辑控件. 一.滚轴控件 Ext.slider 1.滚轴控件的定义 下面我们定义三个具有代表意义滚轴控件,分别展示滚轴横向.纵向,以及单值.多值选择 ...
随机推荐
- 人见人爱a*b 杭电2035
求A^B的最后三位数表示的整数.说明:A^B的含义是“A的B次方” Input 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A= ...
- elasticsearch常用的插件
deb 安装/usr/share/elasticsearch/ https://github.com/hangxin1940/elasticsearch-cn-out-of-box 包可以参考 ...
- javascript language
function class(function, this, prototype) closure与function expression没有任何关系. closure必然与function联系在一起 ...
- poj 1606Jugs
http://poj.org/problem?id=1606 #include<cstdio> #include<cstring> #define MAXN 1000000 u ...
- 将MYSQL查询导出到文件
sql文件: set names utf8; select * from xxxxx mysql命令: mysql .sql .txt
- mysql通过SOURCE导入SQL时报错处理
ERROR: unknown command '\n' Can't connect to the server 网上查询了,多少是编码问题引起,一边是UTF8一边是GBK,反复调整MY.CNF配置文件 ...
- 用UNetbootin来安装USB LINUX,好像比ULTRA ISO省事
UNetbootin can create a bootable Live USB drive, or it can make a "frugal install" on your ...
- Win7 下用 VS2015 编译最新 openssl(1.0.2j)包含32、64位debug和release版本的dll、lib(8个版本)
Win7 64位系统下通过VS2015编译好的最新的OpenSSL(1.0.2j)所有八个版本的链接库, 包含以下八个版本: 1.32位.debug版LIB: 2.32位.release版LIB: 3 ...
- SQL:将查询结果插入到另一个表的三种情况
一:如果要插入目标表不存在: select * into 目标表 from 表 where ... 二:如果要插入目标表已经存在: insert into 目的表 select * from 表 wh ...
- DLL入门浅析(1)——如何建立DLL
转载自:http://www.cppblog.com/suiaiguo/archive/2009/07/20/90619.html 初学DLL,结合教程,总结一下自己的所得,希望对DLL初学者们有所帮 ...