bee中下载网络资源时,加载转圈的进度条

一、下载转圈的开源代码

    地址:转圈地址跳转

二、在list中的cell中添加该view

    <UAProgressView id="progressView"class="progressView"/>

三、在cell的load函数中初始化

    self.progressView.borderWidth = 2;
    self.progressView.lineWidth = 4;
    self.progressView.tintColor = [UIColor colorWithRed:0.20f green:0.78f blue:0.49f alpha:1.00f];

    $(@"#progressView").HIDE();


四、在点击下载时,进行显示、并根据下载量,设置进度

BeeUIScrollView item = ((BeeUIScrollItem *)self.list.items[index].view;
    //url表示要请求的网络资源
    NSURL* url = [[NSURL alloc] initWithString:info.Url];
    ASIHTTPRequest* request = [ASIHTTPRequest requestWithURL:url];
    request.delegate = self;
        $(item).FIND(@"progressView").SHOW();
        request.showAccurateProgress =  YES;
        request.downloadDestinationPath = filePath;
        request.downloadProgressDelegate = self;//这块这只为self,否则,在当前文件取不到,当前的下载量
        [request setDidReceiveResponseHeadersSelector:@selector(didReceiveResponseHeaders:)];
        //发送网络请求
        [request startAsynchronous];
       [request setCompletionBlock:^{
            NSLog(@"下载完成");
        }];
};


五、获取改Url资源总共有多大

- (void)didReceiveResponseHeaders:(ASIHTTPRequest *)request
{
    self.dataBytes = [request.responseHeaders valueForKey:@"Content-Length"];
    NSLog(@"didReceiveResponseHeaders %@",[request.responseHeaders valueForKey:@"Content-Length"]);
    
}

六、获取当前已下载的字节数,并设置进度
- (void)request:(ASIHTTPRequest *)request didReceiveBytes:(long long)bytes
{
    _receiveBytes += bytes;
    UAProgressView* view =  (UAProgressView*)$(self.item).FIND(@"progressView").view;  //上文中的item要设置为全局的,这块使用
    float progress = (float)_receiveBytes/[self.dataBytes intValue];
    _localProgress = _localProgress + bytes % [self.dataBytes intValue];
    [view setProgress:progress];
}

注:参考的网址阅读

iOS网络请求框架ASIHTTPRequest的一些tips



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值