gpt4 book ai didi

ios - UITableViewCell 复选标记切换不起作用

转载 作者:行者123 更新时间:2023-12-01 18:58:41 25 4
gpt4 key购买 nike

我正在使用 UITableViewCell .

当我点击它时,它确实在第一次之间切换:UITableViewCellAccessoryNone & UITableViewCellAccessoryCheckmark
当我点击它时,我什至得到显示切换应该正常工作的 NSLogs。

但在视觉上,只有当我第一次点击单元格时,它才会真正切换。任何想法为什么?

如果我关闭并重新打开 View Controller ,复选标记/不存在复选标记会正确显示(我已保存这些),并且我只能切换一次。

请问有什么帮助吗?

这是我的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"reuseIdentifier" forIndexPath:indexPath];
int i = indexPath.row;

cell.textLabel.text = [[savedData.packArray objectAtIndex:i] name];
if ([[[savedData packArray] objectAtIndex:i] owned])
{
cell.detailTextLabel.text = @"Owned";
}
else
{
cell.detailTextLabel.text = @"$0.99";
}

if ([[savedData.packArray objectAtIndex:i] owned])
{
if ([[savedData.packArray objectAtIndex:i] activated])
{
[[savedData.packArray objectAtIndex:i] setActivated:NO];
cell.accessoryType = UITableViewCellAccessoryNone;
NSLog(@"No checkmark");
//[cell setSelected:NO];
}
else
{
[[savedData.packArray objectAtIndex:i] setActivated:YES];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
NSLog(@"Yes checkmark");
//[cell setSelected:YES];
}
[self saveData];
}
else
{
NSString *msg = [NSString stringWithFormat:@"Unlock %@?", [[savedData.packArray objectAtIndex:i] name]];
UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"Unlock for $0.99?" message:msg delegate:self cancelButtonTitle:@"No Thanks" otherButtonTitles:@"Purchase", nil];
[av show];
//[cell setSelected:NO];
cell.accessoryType = UITableViewCellAccessoryNone;
}

[self saveData];
//[cell setSelected:NO];
//return indexPath;
}

最佳答案

您在 didSelectRowAtIndexPath 中获取单元格的代码方法不正确。你要这个:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

为什么选择单元格时设置单元格的文本?这应该在 cellForRowAtIndexPath 中完成。数据源方法。您应该只在 didSelectRow 中切换复选标记。方法。

关于ios - UITableViewCell 复选标记切换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24564141/

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