Пользовательский UiableViewCell Изменение индекса Dixtenpath при прокрутке?

StackOverflow https://stackoverflow.com/questions/2687815

  •  30-09-2019
  •  | 
  •  

Вопрос

У меня есть пользовательский UiableViewCell, который я создал в интерфейсе Builder. Я успешно демонстрирую клетки, но, когда я прокручиваю, клетки, кажется, начнут звонить на разных индексах. В этом примере я корчаю текущее indexpath.section и indexpath.ruw в CustomCellLabel. Когда я прокручиваю столик вверх и вниз, некоторые из клеток будут измениться. Числа могут быть повсюду, но клетки не пропускают визуально.

Если я прокомментирую IF (Cell == Nil), то проблема уходит.

Если я использую стандартную камеру, проблема уходит.

Идеи, почему это может происходить?

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"CalendarEventCell"];
    if (cell == nil) {
        NSLog(@"Creating New Cell !!!!!");
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CalendarEventCell" owner:self options:nil];
        cell = (UITableViewCell *)[nib objectAtIndex:0];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    }


   // Set up the cell...
  [customCellLabel setText:[NSString stringWithFormat:@"%d - %d",indexPath.section, indexPath.row]];


    return cell;
}
Это было полезно?

Решение

Когда вы создаете ячейку в случае состояния IF (Cell == Nil), присваиваете ли вы редусификатор к ячейке как «CalendarEventCell»? Я вижу, что ваше имя NiB является CalendareventCell, но я думаю, вам также нужно будет установить

cell.reuseIdentifier = @"CalendarEventCell";

Если нет, то я не уверен, может ли он считать правильные клетки. Кроме того, не уверены, что CustomCellLabel относится к.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top