代码之家  ›  专栏  ›  技术社区  ›  Biranchi

可可触摸中的uiprogressbar

  •  1
  • Biranchi  · 技术社区  · 16 年前

    我想根据从服务器下载的数据量显示uiprogressbar。

    我实现的一种方法是建立一个nsurlconnection并设置委托。 (void)连接:(nsurlconnection*)连接didreceiveresponse:(nsurlresponse*)响应 给了我预期的内容

    以及在-(void)连接中:(nsurlconnection*)连接接收数据:(nsdata*)数据 每次我都会一部分一部分地获取数据,直到所有数据都被下载。

    但这并没有解决我的问题。

    还有别的办法吗?

    感谢你所有的建议。

    谢谢

    1 回复  |  直到 16 年前
        1
  •  2
  •   Ben S    16 年前

    如果您知道预期的内容长度,只需将到目前为止收到的总金额除以您将得到的总金额:

    // These should be properties of the delegate class
    UIProgressView * progressView;
    long long expected;
    long long gotSoFar; 
    
    - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
        gotSoFar += data.length;
        progressView.progress = gotSofar / expected;
    }
    

    如果在分区上收到类型警告,请在执行分区之前长时间地对每个分区进行强制转换。

    推荐文章