Пользовательский UITableViewCells повторяет строку после прокрутки - PullRequest
0 голосов
/ 07 января 2012

Я ищу решение ...

Код:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    NSString *CellIdentifier = @"ItemCardapio";
    NSString *nibName = @"ItemCardapioCell";

    ItemCardapioCell *cell = (ItemCardapioCell *) [self.restaurantsList dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) { 
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:nibName owner:self options:nil]; 
        cell = (ItemCardapioCell *)[nib objectAtIndex:0];

        [cell initCellWithRestaurant:@"" tipoRestaurante:@""];      
    }

    return cell;
}

Ответы [ 2 ]

5 голосов
/ 07 января 2012

Я обнаружил, что при проблемах с повторением ячеек проблема обычно возникает, когда вы помещаете вещи, которые не должны быть в бит if (cell == nil).

Причина в том, что представление таблицы в конечном итоге будет использоватьнеправильная повторно используемая ячейка, если вы не обновляете определенные аспекты своей ячейки надлежащим образом.

Попробуйте взять что-нибудь, что напрямую изменит вашу ячейку из этого if (cell == nil) бита, и это должно устранить проблемы с повторяющимися ячейками.

0 голосов
/ 07 января 2012

Вот что я использую для пользовательских ячеек:

static NSString *cellIdentifier = @"ItemCardapioCell";

    ItemCardapioCell *cell = (ItemCardapioCell *) [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if (cell == nil) {

        NSLog(@"Creating Cell");

        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"ItemCardapioCell" owner:nil options:nil];

        for(id currentObject in topLevelObjects)
        {
            if([currentObject isKindOfClass:[ItemCardapioCell class]])
            {
                cell = (ItemCardapioCell *)currentObject;
                break;
            }
        }
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...