【问题标题】:UIProgressbar in Cococa TouchCococa Touch 中的 UIProgressbar
【发布时间】:2010-12-22 10:47:09
【问题描述】:

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

我实现的一种方法是创建一个 NSURLConnection 并设置委托。 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 给了我预期的ContentLengh

并且在 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 我每次都部分地获取数据,直到所有数据都下载完毕。

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

还有其他方法吗?

感谢您的所有建议。

谢谢

【问题讨论】:

    标签: iphone objective-c cocoa-touch uiprogressbar


    【解决方案1】:

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

    // 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;
    }
    

    如果您在除法上收到类型警告,请在进行除法之前将每个 long long 投射。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      相关资源
      最近更新 更多