我想將自定義單元格分隔符僅添加到第一行(其中所有請求的曲面都是)表格。但是,每當我滾動時,粗灰線就會出現在其他行中。我如何避免這種情況發生?將自定義分隔符高度添加到UITableViewCell滾動時不起作用
在我cellForRowAtIndexPath
方法我有這樣的:
if (indexPath.row == 0 && [cell.dicInfo[AIRCRAFTSURFACE_SURFACE] isEqualToString:@"ALL REQUESTED SURFACES"]) {
cell.lblSurface.font = [UIFont fontWithName:@"OpenSans-Bold" size:16.0f];
CGRect sizeRect = [[UIScreen mainScreen] bounds];
NSInteger separatorHeight = 10;
additionalSeparator.frame = CGRectMake(0,cell.contentView.frame.size.height-separatorHeight,sizeRect.size.width,separatorHeight);
additionalSeparator.backgroundColor = [UIColor lightGrayColor];
[cell addSubview:additionalSeparator];
}
我有viewDidLoad
初始化UIView *additionalSeparator;
。
難道是因爲細胞被重複使用而導致某些事情發生?
是的,這是因爲細胞被重新使用。您在第一次請求第0行時添加子視圖...當您滾動時,該單元格可能重用第6行...但您並未刪除子視圖。就個人而言,我會製作3種單元格類型:「標題行」「分隔符行」和「行項目行」。然後我不必擔心它(再加上它比在cellForRowAtIndexPath裏面創建/添加子視圖要簡單得多) – DonMag