iOS - UITableViewCell не отображает галочку после выбора - PullRequest
0 голосов
/ 23 марта 2012

Я пытаюсь создать UITableView, который добавляет флажок к выбранной ячейке, что происходит, когда он добавляет флажок, но не сразу, он показывает его, когда я выбираю другую строку. Любая идея, как я могу сделать это мгновенно? Это мой код:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Contact";

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

    NSLog(@"%@", [[self.contacts objectAtIndex:indexPath.row] valueForKeyPath:@"TwitterFriend.screen_name"]);
    cell.textLabel.text = [[self.contacts objectAtIndex:indexPath.row] valueForKeyPath:@"TwitterFriend.screen_name"];
    if ([self.selectedContacts containsObject:[self.contacts objectAtIndex:indexPath.row]]) {
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    } else {
        cell.accessoryType = UITableViewCellAccessoryNone;
    }

    return cell;
}

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
    [self.selectedContacts addObject:[self.contacts objectAtIndex:indexPath.row]];
    [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone];
}

1 Ответ

2 голосов
/ 24 марта 2012

Похоже, что вы выполняете свою логику в tableView:didDeselectRowAtIndexPath, но по умолчанию этот метод не вызывается, пока выбор ячейки не изменится. Если вместо этого вы введете его в tableView:didSelectRowAtIndexPath (обратите внимание на немного другое имя), вы получите обратный вызов, как только коснитесь ячейки, и вспомогательное представление должно появиться немедленно.

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