我創建了一個自定義的UITableViewCell,但在更新單元格內容時遇到了問題。當我在表格中有多個單元格時,表格未在單元格中繪製正確的圖像。每個單元格中的圖像應該是唯一的,但是我看到不同的單元格具有相同的圖像。該表似乎是隨機放置細胞。UITableViewCell沒有正確更新
我用NSLog檢查了我的數據源,名稱正確。當我不使用- (UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier
時,我可以更正此問題,但每次在- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath
時都會創建一個新單元。
任何關於我可能做錯的建議?請看下面我的代碼。
- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ScoreCell *cell = (ScoreCell *)[_tableView dequeueReusableCellWithIdentifier:@"CellID"];
if (cell == nil)
{
cell = [[[ScoreCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CellID"] autorelease];
}
BoxScore *boxScore = [_gameDayData objectAtIndex:indexPath.row];
[cell setScoreImage:[UIImage imageNamed:boxScore.name]];
return cell;
}
ScoreCell.h
@interface ScoreCell : UITableViewCell
{
UIImage *scoreImage;
}
@property(nonatomic, retain)UIImage *scoreImage;
@end
ScoreCell.m
@implementation ScoreCell
@synthesize scoreImage;
- (void)dealloc
{
[scoreImage release], scoreImage = nil;
}
- (void)drawRect:(CGRect)rect
{
[super drawRect:rect];
[scoreImage drawAtPoint:CGPointMake(5,5)];
}
@end
這個類名不要jive - 我希望這是在這裏發佈snippits的神器 – bshirley
謝謝,這是一個神器。固定。 – David
表面隨機性不可能是隨機的 - 當一個單元格滾動出視圖時,它會被重用。一個是從另一側滾動,如果狀態沒有被你的代碼正確重置,你會得到你看到的行爲 – bshirley