0

在我的代码中,我想在 UITableView 中选择一个单元格。我在这里执行选择,但是每次应该选择它时,它只会被选择一会儿,然后它就会失去选择。

我做错什么了?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"SimpleTableIdentifier"];

    if (cell == nil) 
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"SimpleTableIdentifier"];
    }

    cell.textLabel.text = [[self tableViewArray] objectAtIndex:indexPath.row];

    if(indexPath.row == self.selectedTopicIndex)
    {
        NSLog(@"DIE DIE DIE DIE DIE!!!");
        [cell setSelected:YES];
        [cell setSelectionStyle:UITableViewCellSelectionStyleBlue];
        [cell setSelected:YES];
    }

    return cell;
}
4

1 回答 1

1

只需将您的选择逻辑移动到-tableView:willDisplayCell:forRowAtIndexPath:方法中。像这样的东西:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    if(indexPath.row == self.selectedTopicIndex)
    {
        NSLog(@"DIE DIE DIE DIE DIE!!!");
        [cell setSelectionStyle:UITableViewCellSelectionStyleBlue];
        [cell setSelected:YES];
    }
}
于 2012-07-05T09:43:47.023 回答