0

カスタム テーブルビュー セルのプログレス ビューを更新しようとしていますが、プログレス ビューが更新されません。

テーブルビュー セルにラベルを設定できますが、プログレス バーやアクティビティ インジケーターなどにアクセスできません。

カスタムセルで次のことを行います

cell.progressView.hidden = NO;
cell.progressView.progress = 0.5;
[cell.progressView setNeedsDisplay];

これは、デバッガーでオブジェクトが正しいセル タイプであり、progressView が割り当てられていることを確認しても機能しません。

セル自体でもsetNeedsDisplayを試しましたが、うまくいきません。私は何が欠けていますか?

4

1 に答える 1

1

呼び出し[self tableView:tableView cellForRowAtIndexPath:indexPath];が問題である可能性が最も高いのは、これにより別のセルがテーブルからデキューされる可能性があるためです。したがって、現在表示されているセルではなく、新しいセルを設定することになります。

代わりに、次のようにします。

CustomTableViewCell *cell = (CustomTableViewCell *)[tableView cellForRowAtIndexPath:indexPath];

これは、テーブルにセルを直接要求します。行が表示されている場合、これは現在表示されているセルを返す必要があります。

于 2012-11-30T16:26:14.150 に答える