Вы можете использовать следующее: установить переменную, которая обрабатывает состояние ячейки (скрыто или нет):
- (float)tableView:(UITableView *)tableView
heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == _cellRow)
return _cellHidden ? 0.0f : _cellHeight;
}
А когда вы хотите скрыть или показать ячейку, попросите перезагрузить ее.Это вызовет предыдущий метод.
_cellHidden = YES;
[_tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:0]]
withRowAnimation:UITableViewRowAnimationAutomatic]