(素材源码)猫猫学IOS(二十九)UI之Quartz2D自定义下载控件

猫猫分享,必须精品

素材代码地址: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
时间: 2024-10-13 22:36:55

(素材源码)猫猫学IOS(二十九)UI之Quartz2D自定义下载控件的相关文章

(素材源码)猫猫学IOS(十七)UI之纯代码自定义Cell实现新浪微博UI

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8580249 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 编程思路 代码创建Cell的步骤 1> 创建自定义Cell,继承自UITableViewCell 2> 根据需求,确定控件,并定义属性 3> 用getter方法完成控件的实例化,只创建并添加到contentView,不处理位置 4&g

(素材源码) 猫猫学IOS(十二)UI之UITableView学习(上)LOL英雄联盟练习

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8542789 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 ps:新建iOS交流学习群:304570962 可以加猫猫QQ:1764541256 或则微信znycat 让我们一起努力学习吧. 原文:http://blog.csdn.net/u013357243?viewmode=contents

(素材源码)猫猫学IOS(十五)UI之曾经大热的打砖块小游戏

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8555567 原文地址:http://blog.csdn.net/u013357243?viewmode=contents !素材代码里面有我写的全部代码,注释齐全,方便学习 先看效果图 ps:新建iOS交流学习群:304570962 可以加猫猫QQ:1764541256 或则微信znycat 让我们一起努力学习吧. 原文:http://blog.csdn.net/u0133

(素材源码)猫猫学IOS(十四)UI之UITableView扩充_表格的修改_(增删移动)

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8544315 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 ps:新建iOS交流学习群:304570962 可以加猫猫QQ:1764541256 或则微信znycat 让我们一起努力学习吧. 原文:http://blog.csdn.net/u013357243?viewmode=contents

(素材源码)猫猫学IOS(十八)UI之QQ聊天布局_键盘通知实现自动弹出隐藏_自动回复

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8585703 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看图片 第一步完成tableView和Cell的架子的图 完善图片 键盘弹出设置后图片: 自动回复图: 粗狂的架子 tableView和Cell的创建 首相tableView为了学习方便就直接用stroyBoard拖拽了,包括一些学习意义不大的图片等等

(素材源码)猫猫学IOS(十三)UI之UITableView学习(下)汽车名牌带右侧索引

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8544217 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 ps:新建iOS交流学习群:304570962 可以加猫猫QQ:1764541256 或则微信znycat 让我们一起努力学习吧. 原文:http://blog.csdn.net/u013357243?viewmode=contents

(素材源码)猫猫学iOS(四十六)之网易彩票幸运大转盘

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 素材源码地址:http://download.csdn.net/detail/u013357243/8713827 效果 代码: NYWheel NYWheel.h // // NYWheel.h // 网易彩票幸运大转盘 // // Created by apple on 15-5-18. // Copyright (c)

(素材源码)猫猫学IOS(二十六)UI之iOS抽屉效果小Demo

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8635679 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果 源码 NYDrawViewController.h // // NYDrawViewController.h // 06-抽屉效果 // // Created by apple on 14-9-1. /

(素材源码)猫猫学IOS(二十四)UI之注册案例

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8614731 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果 代码 NYViewController.m // // NYViewController.m // 注册 // // Created by apple on 15-4-19. // Copyright

(素材源码)猫猫学IOS(三十五)UI之Quartz2D仿真支付宝手势解锁_代理获得密码。

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 源码:http://download.csdn.net/detail/u013357243/8669765 效果: 代码: NYLockView.h // // NYLockView.h // 手势解锁 // // Created by apple on 15-5-6. // Copyright (c) 2015年 znyca