カスタム UITableViewCells を使用してアプリを開発しています。私はセルのペン先を 1 つ持っており、セル識別子のみを使用しています。
cellForRowAtIndexPath には、次のようなコードがあります。
_spot.text = [NSString stringWithFormat:@"%d.", [forecastRow.position intValue]];
if([[forecastRow prob1] floatValue] > 0.5){
_spot.textColor = [UIColor redColor];
}
ここで、_spot は UILabel の UBOutlet です。実際のところ、数字は正しく表示され、色は最初に適切なセルに割り当てられます。しかし、スクロールすると数字は問題ありませんが、テーブル全体で if() を渡さない他のセルの _spot ラベルに赤色がランダムに割り当てられます。
何が起こっていますか?テキストは正しいのに、色が正しくないのはなぜですか? スクロールするときだけこれが台無しになるのはなぜですか? 複雑な条件に基づいて、行のラベルに複数の異なる色を割り当てる必要があるため、解決策は、このような小さなタスク (UILabel の色を変更する) に複数の識別子とペン先を使用していないと思います。