Appleのカスタムテーブルビューセルコードを使用しており、セルビュー内のdrawRectコードを希望どおりに変更しています。UILabelsとUIProgressViewを持つように変更しました。
セルが構築されているデータに特定のフィールドがない場合は、UIProgressViewを非表示にします。これはしばらくは機能しますが、セルがスクロールから再キューイングされると、hidden = YESに設定した場合でも、進行状況ビューが再び表示され始めます。データがそこにあり、それも機能しない場合を除いて、ProgressViewを作成しないようにしました。
答えは[selfsetNeedsDisplay]にあると思いましたが、それは役に立たないようです。
引き続き表示されるdrawRectのprogressviewのコードは次のとおりです。
UIProgressView *c1Progress = [[UIProgressView alloc]initWithFrame:CGRectMake(20.0, 70.0, 280.0, 12.0)];
float iProgress = (value / target);
c1Progress.progress = iProgress;
if (!dataExists) {
c1Progress.hidden = YES;
}
[self addSubview:c1Progress];
[c1Progress release];