gpt4 book ai didi

iOS - UITableViewCell 在被选中后不显示复选标记

转载 作者:行者123 更新时间:2023-11-28 23:01:57 25 4
gpt4 key购买 nike

我正在尝试制作一个 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];
}

最佳答案

看起来您正在 tableView:didDeselectRowAtIndexPath 中执行您的逻辑,但默认情况下,直到单元格选择更改时才会调用此方法。如果您改为将它放在 tableView:didSelectRowAtIndexPath 中(注意名称略有不同),您将在点击单元格后立即收到回调,并且附件 View 应立即出现。

关于iOS - UITableViewCell 在被选中后不显示复选标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9843441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com