我正在尝试将自定义单元格分隔符添加到表格的第一行(所有请求的曲面所在的位置)。然而,每当我滚动时,粗灰线也会出现在其他行中。我如何防止这种情况发生?
在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];
}
我在UIView *additionalSeparator;
上初始化了viewDidLoad
。
可能是因为细胞被重复使用会导致某些事情发生吗?
答案 0 :(得分:0)
尝试添加else语句以删除其他行中的分隔符。
- (void)viewDidLoad {
UIView *additionalSeparator = [[UIView alloc] init....];
additionalSeparator.tag = 9999;
.
.
}
- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
.
.
additionalSeparator.backgroundColor = [UIColor lightGrayColor];
[cell addSubview:additionalSeparator];
} else {
[[cell viewWithTag:9999] removeFromSuperView];
}