Я пытаюсь добавить пользовательскую нижнюю границу для всех моих ячеек табличного представления, используя UIImageView, который я добавляю в ячейку программно во время выполнения.Проблема в том, что часто, когда пользователь прокручивает, граница исчезает случайно.
Этот код находится в моем методе cellForRowAtIndexPath:
UIImageView* border = (UIImageView*)[cell viewWithTag:10];
if (border)
[border removeFromSuperview];
NSInteger sectionRows = [tableView numberOfRowsInSection:[indexPath section]];
NSInteger row = indexPath.row;
if (row != sectionRows - 1) {
UIImageView* border = [[UIImageView alloc] initWithImage:[[ImageManager sharedManager] imageNamed:@"dashed_border"]];
[border setFrame:CGRectMake(10, [self tableView:tableView heightForRowAtIndexPath:indexPath], 290, 1)];
[border setTag:10];
[cell addSubview:border];
[border release];
}
Он удаляет подпредставление границы, если оно существует, и еслистрока не является нижней строкой, она вставляет границу в нижней части строки.
Я не уверен, является ли это условием гонки, или есть определенные моменты, когда cellForRowAtIndexPath не вызываетсякак пользователь прокручивает.