CAShapeLayer绘画圆环,圆环进度条
来源:互联网 发布:海美迪网络机顶盒价格 编辑:程序博客网 时间:2024/04/29 00:58
//
// WZKView.m
// WZKTestSvn
//
// Created by psylife on 15/10/9.
// Copyright © 2015年 psylife. All rights reserved.
//
#import "WZKView.h"
@implementation WZKView
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
/*
jiaoDu 大圆环角度(一般是一个圆形M_PI*2)
startAngle 大圆环开始的位置
endAngle 大圆环结束的位置
fillColor 大圆环填充的颜色
strokeColor 划线的颜色
lineWidth 划线的线宽
strokeStart 划线开始位置
strokeEnd 划线结束位置
radius 划线的半径(也就是大圆环的半径,划线和大圆环是一起的,只是填充颜色不同显的不一样,导致就像两个一样)
*/
-(CAShapeLayer*)huanXingJiaoDu:(CGFloat)jiaoDu startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle tianChongColor:(UIColor*)fillColor huaXianColor:(UIColor*)strokeColor lineWidth:(CGFloat)lineWidth huaKaiShi:(CGFloat)strokeStart huaJieShu:(CGFloat)strokeEnd huaxianradius:(CGFloat)radius donghuaDuration:(CGFloat)duration
{
UIBezierPath* path = [UIBezierPathbezierPathWithArcCenter:CGPointMake(self.frame.size.width/2.f,self.frame.size.height/2.f)radius:radius startAngle:startAngleendAngle:jiaoDu clockwise:YES];
CAShapeLayer* layer = [CAShapeLayerlayer];
layer.frame = self.bounds;
layer.path = path.CGPath;
layer.strokeColor = strokeColor.CGColor;
layer.fillColor = fillColor.CGColor;
layer.lineCap =kCALineCapRound;
layer.lineWidth = lineWidth;
layer.strokeStart = strokeStart;
layer.strokeEnd = strokeEnd;
CABasicAnimation *ani = [CABasicAnimationanimationWithKeyPath : NSStringFromSelector (@selector (strokeEnd))];
ani. fromValue = @0 ;
ani. toValue = @1 ;
ani. duration = duration ;
[layer addAnimation :ani forKey : NSStringFromSelector ( @selector (strokeEnd))];
return layer;
}
-(id)initWithFrame:(CGRect)frame
{
self = [superinitWithFrame:frame];
if (self !=nil) {
// CAMetalLayer;
// CAScrollLayer;
// CAShapeLayer;
// CATextLayer;
CAShapeLayer* layer1 = [selfhuanXingJiaoDu:M_PI*2startAngle:0.0fendAngle:M_PI*2tianChongColor:[UIColorclearColor]huaXianColor:[UIColorredColor] lineWidth:4.0fhuaKaiShi:0.0fhuaJieShu:1.0fhuaxianradius:self.frame.size.width/2.0f+20donghuaDuration:5];
[self.layeraddSublayer:layer1];
[selfperformSelector:@selector(add2)withObject:nilafterDelay:5];
[selfperformSelector:@selector(add3)withObject:nilafterDelay:5*2];
[selfperformSelector:@selector(add4)withObject:nilafterDelay:5*3];
[selfperformSelector:@selector(add5)withObject:nilafterDelay:5*4];
}
return self;
}
-(void)add2
{
CAShapeLayer* layer2 = [selfhuanXingJiaoDu:M_PI*2startAngle:0.0fendAngle:M_PI*2tianChongColor:[UIColorclearColor]huaXianColor:[UIColordarkGrayColor]lineWidth:4.0fhuaKaiShi:0.0fhuaJieShu:1.0fhuaxianradius:self.frame.size.width/2.0f+20-4donghuaDuration:5];
[self.layeraddSublayer:layer2];
}
-(void)add3
{
CAShapeLayer* layer3 = [selfhuanXingJiaoDu:M_PI*2startAngle:0.0fendAngle:M_PI*2tianChongColor:[UIColorclearColor]huaXianColor:[UIColoryellowColor]lineWidth:4.0fhuaKaiShi:0.0fhuaJieShu:1.0fhuaxianradius:self.frame.size.width/2.0f+20-8donghuaDuration:5];
[self.layeraddSublayer:layer3];
}
-(void)add4
{
CAShapeLayer* layer4 = [selfhuanXingJiaoDu:M_PI*2startAngle:0.0fendAngle:M_PI*2tianChongColor:[UIColorclearColor]huaXianColor:[UIColorblueColor] lineWidth:4.0fhuaKaiShi:0.0fhuaJieShu:1.0fhuaxianradius:self.frame.size.width/2.0f+20-12donghuaDuration:5];
[self.layeraddSublayer:layer4];
}
-(void)add5
{
CAShapeLayer* layer5 = [selfhuanXingJiaoDu:M_PI*2startAngle:0.0fendAngle:M_PI*2tianChongColor:[UIColorclearColor]huaXianColor:[UIColororangeColor]lineWidth:4.0fhuaKaiShi:0.0fhuaJieShu:1.0fhuaxianradius:self.frame.size.width/2.0f+20-16donghuaDuration:5];
[self.layeraddSublayer:layer5];
}
@end
- CAShapeLayer绘画圆环,圆环进度条
- 圆环进度条
- 圆环
- 圆环
- 圆环
- 圆环
- ios 画圆环进度条
- Unity圆环进度条制作
- h5圆环进度条
- 圆环形进度条
- 自定义圆环进度条
- canvas绘制圆环进度条
- 自定义圆环进度条
- 自定义PointerProgressBar--圆环进度条
- 自定义View圆环进度条
- ios 画圆环进度条
- 自定义view圆环进度条
- 自定义圆环进度条
- 接收和发送缓冲区
- 第六周项目6括号的匹配
- 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student
- Memcached 工作原理
- centos7安装配置openvpn
- CAShapeLayer绘画圆环,圆环进度条
- Hive 安装及测试三
- Java无限的求π的近似值
- android项目混淆打包注意事项
- 【C语言】连接MySql的通讯录
- Spark1.5 +Zookeeper HA 集群搭建
- 第六周项目7数制转换
- SVN使用教程之——分支、合并
- Android 学习笔记-- 开发环境 和 hello world