UITableView с двумя пользовательскими ячейками (несколько идентификаторов)

Я пытаюсь поместить ячейку в качестве пробела между каждой ячейкой - которая будет скрыта путем установки альфа = 0. В моей таблице ячейки пробела будут для нечетных строк.

Обратите внимание, что фактическая высота ячейки равна 85, но высота скрытой ячейки (то есть расстояние между ячейками) равна 20.

Проблема в том, что высота космической ячейки составляет 85, а не 20, я не знаю почему. Возможно, ячейка загружена неправильно.

Cell здесьUITableViewCell - фактическая ячейка - с идентификатором «Ячейка».

Cell2 это пространство с идентификатором «Space».

Каждый класс выше имеет свойUITableViewCell класс и файлы XIB также назначены каждому из них.идентификатор также устанавливается в IB для каждого Xib.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier1 = @"Cell";
static NSString *CellIdentifier2 = @"Space";

Cell *cell = (Cell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier1];

if(!cell)
{
    NSArray *ar = [[NSBundle mainBundle] loadNibNamed:@"CellView" owner:nil options:nil];
    for (id obj in ar)
    {
        if ([obj isKindOfClass:[Cell class]])
        {
            cell = (Cell *)obj;
            break;
        }
    }
}

if (indexPath.row % 2 == 1)
{
    Cell2 *cell2 = (Cell2 *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier2];

    if (!cell2)
    {
        NSArray *ar = [[NSBundle mainBundle] loadNibNamed:@"Cell2" owner:nil options:nil];
        for(id obj in ar)
        {
            if([obj isKindOfClass:[Cell2 class]])
            {
                cell2 = (Cell2 *)obj;
                break;
            }
        }

        // Method 1
        cell2 = [[Cell2 alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier2];
         // Method 2
        //cell2 = [[Cell2 alloc] init];
        // Method 3
        //cell2 = (Cell2 *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier2];

        [cell2.contentView setAlpha:0];
        // prevent selection and other stuff
        [cell2 setUserInteractionEnabled:NO];
    }
    return cell2;
}
else
{
    // Configure the actual cell
}


return cell;

}

Ответы на вопрос(3)

Ваш ответ на вопрос