UITableViewCell показывает строки indexpath не в порядке - PullRequest
2 голосов
/ 29 августа 2010

Странный вопрос, я создаю UITableView, устанавливая 8 строк данных. Проще говоря, я просто возвращаю строку indexpath, чтобы попытаться выяснить, в чем дело, но в конечном итоге все строки, находящиеся вне экрана, загружаются в странном порядке.

Например, строки 0,1,2,3,4,5 все выглядят нормально при первой загрузке, но затем 6 и 7 не отображаются на экране. Когда я прокручиваю их, я обычно вижу строки 6 и 0 или 6 и 1. Затем я вижу, что строка 7 снова появляется в верхней части таблицы, когда я прокручиваю обратно вверх.

Вот мой код:

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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

        [cell.textLabel setText:[NSString stringWithFormat:@"Row: %d", [indexPath row]]];
    }

    return cell;
} 

Я делаю что-то действительно глупое? Приветствия

Ответы [ 2 ]

1 голос
/ 09 августа 2011

Вы можете использовать

NSString * cellIdentifier = [NSString stringWithFormat: @ "% d", indexPath.row];

вместо

статический NSString * CellIdentifier = @ "Cell";

0 голосов
/ 29 августа 2010

Создайте свою ячейку в операторе if, а затем установите свойства (т. Е. Метку) вне оператора if.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...