У меня есть таблица VIew, где каждая клетка имеет высоту 90.0f (высота).мой код;
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 90.0;
}
Теперь, когда я удаляю все записи в таблице.высота ячейки уменьшается до значения по умолчанию, равного 44 (я думаю).
1.) Моя проблема в том, что мне нужно, чтобы высота ячейки оставалась равной 90.0f даже после того, как пользователь удалит все записи.Как я могу сделать это программно?
2.) Я дал 2 цвета для своей камеры.
cell.contentView.backgroundColor = indexPath.row % 2 ? [UIColor whiteColor] : [UIColor blackColor] ;
Когда я удаляю вторую ячейку, которая черная, то и 1-я, и 3-я ячейки белые.Как я могу перестроить это, чтобы оно было черно-белым в порядке.
РЕДАКТИРОВАТЬ:
Хорошо, это работает, но когда я пытаюсь удалить последнюю запись втаблица и [tableview indexPathsForVisibleRows]
я получаю ошибку подтверждения в
-[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-1448.89/UITableView.m:961
и
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of rows in section 0. Attempt to delete more rows than exist in section.'
Почему это так?
КОД:
[self.tableView beginUpdates];
[self.myArray removeObjectsInArray:discardedItems ];
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:YES];
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:YES];
[self.tableView endUpdates];