0

以下は、私の進行状況ビューを更新するためのシナリオです。私の問題は、最後のプログレスバーが更新されるのは.....

  1. タッチすると、viewcontrollerにはボタンがあり、ftpサーバーからのダウンロードが開始されます。すぐにタッチすると、uitableview が進行中の別のダウンロードを表示している別のビュー コントローラーに移動します。

  2. i UIProgressView を UITableViewCell に動的に配置します。

  3. こんな感じで実装しています……。

    -- // cellForRowAtIndexPath // プログレスビューをセルに追加

    progressBar = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleBar];
    progressBar.hidden=NO;
    progressBar.tag=123+indexPath.row;
    progressBar.frame = CGRectMake(250,170,350,25);
    progressBar.progress=0.0f;
    
  4. このようにcellForRowAtIndexPathの最後でprogressviewの進行状況を更新すると……

       [NSTimer scheduledTimerWithTimeInterval:0.001f target:self selector:@selector(refreshProgress) userInfo:nil repeats:YES];
    
  5. // 更新進行状況の実装......

        -(void)refreshProgress
        {
    
    UITableViewCell *cell=(UITableViewCell *)[tempArray objectAtIndex:1];
    NSString * int_index=[tempArray objectAtIndex:0];
    FTPManager *objFTPMgr = [[FTPManager alloc] init];
    int index1=[int_index intValue];
    UIProgressView *prgView=(UIProgressView *)[cell viewWithTag:index1];
    prgView.progress = [objFTPMgr putProgress];
    [objFTPMgr release];
    [prgView reloadInputViews];
        }
    

    誰かが解決策を持っている場合は、このスレッドに書いてください

前もってパギー 123

4

1 に答える 1

0

プログレスビューがいくつあるかわかりませんが、メソッド refresProgress では、tempArray[1] のセルのプログレスビューのみを呼び出します。

UITableViewCell をサブクラス化し、そこで refreshProgresbar を使用してメソッドを作成する必要があります。次に、現在のセルをループして更新できます。

于 2012-05-10T10:16:24.830 に答える