(素材源码)猫猫学IOS(二十九)UI之Quartz2D自定义下载控件
2015-04-28 11:38
459 查看
猫猫分享,必须精品
素材代码地址:http://download.csdn.net/detail/u013357243/8640353
原创文章,欢迎转载。转载请注明:翟乃玉的博客
地址:http://blog.csdn.net/u013357243?viewmode=contents
![](http://img.blog.csdn.net/20150428111550502)
素材代码地址:http://download.csdn.net/detail/u013357243/8640353
原创文章,欢迎转载。转载请注明:翟乃玉的博客
地址:http://blog.csdn.net/u013357243?viewmode=contents
效果
代码
NYProgressView.m
// // NYProgressView.m // 下载进度条 // // Created by apple on 15-4-27. // Copyright (c) 2015年 znycat. All rights reserved. // #import "NYProgressView.h" @interface NYProgressView() @property (nonatomic,weak) UILabel *label; @end @implementation NYProgressView /**label的懒加载*/ -(UILabel *)label { if (_label == nil) { UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; label.textAlignment = NSTextAlignmentCenter; [self addSubview:label]; _label = label; } return _label; } -(void)setProgress:(CGFloat)progress { _progress = progress; self.label.text = [NSString stringWithFormat:@"%.2f%%", progress*100]; //重新绘制 在view上做一个重绘标记,当下次屏幕刷新的时候,调用drawRect。 [self setNeedsDisplay]; } - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code } return self; } /**画画 当视图显示的时候,默认只调用一次 解决办法://重新绘制 在view上做一个重绘标记,当下次屏幕刷新的时候,调用drawRect。 [self setNeedsDisplay]; */ - (void)drawRect:(CGRect)rect { // 1:获取上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 2:拼接路径 /*我们需要画一个圆图*/ CGPoint center = CGPointMake(50, 50);//圆心 CGFloat radius = 43;//半径 CGFloat startA = -M_PI_2 ;//起始角度 CGFloat endA = -M_PI_2 + _progress * M_PI * 2 ;//结束角度。 UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:center radius:radius startAngle:startA endAngle:endA clockwise:YES]; //clockwise 顺时针方向。 //3:把路径添加到上下文。 CGContextAddPath(ctx, path.CGPath); //设置颜色为红色 [[UIColor redColor] set]; //设置线条的宽度 CGContextSetLineWidth(ctx, 10); //设置两端的样式为圆角 CGContextSetLineCap(ctx,kCGLineCapRound); //4:把上下文渲染到视图。 CGContextStrokePath(ctx); } @end
NYViewController.m
// // NYViewController.m // 下载进度条 // // Created by apple on 15-4-27. // Copyright (c) 2015年 znycat. All rights reserved. // #import "NYViewController.h" #import "NYProgressView.h" @interface NYViewController () @property (weak, nonatomic) IBOutlet NYProgressView *progressView; @end @implementation NYViewController /**滑动slider发生的事件*/ - (IBAction)valueChange:(UISlider *)sender { NSLog(@"%f",sender.value); _progressView.progress = sender.value; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
相关文章推荐
- (素材源码)猫猫学IOS(二十九)UI之Quartz2D自定义下载控件
- 猫猫学IOS(二十九)UI之Quartz2D自定义下载控件_画各种图形
- 猫猫学IOS(二十九)UI之Quartz2D自定义下载控件_画各种图形
- (素材源码)猫猫学IOS(三十四)UI之Quartz2D画画板的实现
- (素材源码)猫猫学IOS(三十五)UI之Quartz2D仿真支付宝手势解锁_代理获得密码。
- (素材源码)猫猫学IOS(三十四)UI之Quartz2D画画板的实现
- (素材源码)猫猫学IOS(三十五)UI之Quartz2D仿真支付宝手势解锁_代理获得密码。
- (素材源码)猫猫学IOS(三十五)UI之Quartz2D仿真支付宝手势解锁_代理获得密码。
- AJ学IOS(29)UI之Quartz2D自定义下载控件_画各种图形
- (素材源码)猫猫学IOS(十七)UI之纯代码自定义Cell实现新浪微博UI
- (素材源码)猫猫学IOS(十七)UI之纯代码自定义Cell实现新浪微博UI
- (素材源码)猫猫学IOS(十六)UI之XIB自定义Cell实现团购UI
- (素材源码)猫猫学IOS(十六)UI之XIB自定义Cell实现团购UI
- iOS开发UI篇—Quartz2D(自定义UIImageView控件)
- (素材源码)猫猫学IOS(十五)UI之曾经大热的打砖块小游戏
- 猫猫学IOS(三十四)UI之Quartz2D画画板的实现
- (素材源码)猫猫学IOS(二十四)UI之注册案例
- 猫猫学IOS(三十三)UI之Quartz2D雪花飘落效果刷帧
- (素材源码)猫猫学IOS(二十)UI之UIPickerView_点菜系统
- (素材源码)猫猫学IOS(十五)UI之曾经大热的打砖块小游戏