Чередование строк UITableView - PullRequest
1 голос
/ 28 января 2010

Я читал здесь посты на SO о разборе ячеек UITableView, но не смог разобраться в деталях. Мой код:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    // Setup code omitted

    cell.textLabel.text = @"Blah Blah";
    cell.detailTextLabel.text = @"Blah blah blah";
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    if ([indexPath row] % 2 == 1) {
        cell.contentView.backgroundColor     = [UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1.0];
        cell.textLabel.backgroundColor       = [UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:0.0];
        cell.detailTextLabel.backgroundColor = [UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1.0];
        cell.accessoryView.backgroundColor   = [UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1.0];
    }
    return cell;
}

И мой результат:

http://img2.pict.com/18/df/b9/2661271/0/screenshot20100127at3.png

Есть идеи, почему это происходит? Спасибо!

Ответы [ 2 ]

4 голосов
/ 28 января 2010

Эти ячейки используются повторно, в случае [indexpath row] % 2 == 0

вам следует вернуть их к нормальному
2 голосов
/ 18 октября 2013
 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
         [cell setBackgroundColor: indexPath.row % 2 == 0 ? color1 : color2];

}

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