私はUITableViewCellを拡張するクラスを持っています。この練習の目的で、それを "CustomCell"と呼ぶことにしましょう。 CustomCellでは、UIImageView IBOutletのセットアップがあります。この場合のイメージインスタンス名はmyImageです。サーバーから戻ってくる特定の基準に基づいてこのイメージを表示したいと考えています。そのデータは、この練習では "serverData"と呼ばれる辞書です。最初は、UITableViewは、UIImageViewをセル内に表示するだけで、うまく描画できます。この問題は、実際のUITableViewのスクロールを開始すると発生し、イメージが失われます。どういうわけか、キャッシュされているかデキューされていません。問題がどこにあるか、このコードでどのように改善するかは不明です。以下はその抜粋です:UITableViewCellテーブルが表示外にスクロールするときの変な動作
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CustomCellIdentifier = @"CustomCellIdentifier";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CustomCellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell"
owner:self options:nil];
cell = (CustomCell *)[nib objectAtIndex:0];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
NSDictionary *serverData = myData // previously defined.
if ([[serverData valueForKey:@"foo"] isEqualToString:@"0"])
cell.myImage.hidden = YES;
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
return cell;
}
は、画像が失われたとなっていことを使用するたび.myImage.hidden(それが消えるなど)や、細胞は完全にオフスクリーンにスクロールして、背中にスクロールされたとき? –