gpt4 book ai didi

iphone - 如何观察单元格附件类型 UITableViewCellAccessoryCheckmark 是否被选中?

转载 作者:行者123 更新时间:2023-11-29 11:09:37 26 4
gpt4 key购买 nike

如何观察单元格附件类型 UITableViewCellAccessoryCheckmark 是否被选中?

在我的应用程序中,我在 UIAlertView 中添加了 UITableView。我也用过

cell.accessoryType = UITableViewCellAccessoryCheckmark;

在我的 tableView 中,我有 9 行。当用户点击第一行时,除第二行外,所有行都会被选中。用户可以根据需要检查任何行。当用户点击第二行时,只会选中第二行。

提前致谢:)

最佳答案

虽然@dasblinkenlight 的答案肯定更优雅,但对您来说可能太高级了。

本质是跟踪哪些单元格被选中,哪些单元格未选中。每当发生变化时,重新加载 TableView 以更新复选标记。

您需要创建自己的变量来跟踪它。位图非常经济和优雅,但可能难以理解并且无法扩展到大量行。或者,您可以使用数组。

NSMutableArray *checkedArray = [NSMutableArray arrayWithObjects:
[NSNumber numberWithBool:YES],
[NSNumber numberWithBool:NO],
[NSNumber numberWithBool:NO],
[NSNumber numberWithBool:NO],
[NSNumber numberWithBool:NO],
[NSNumber numberWithBool:NO],
[NSNumber numberWithBool:NO],
[NSNumber numberWithBool:NO],
[NSNumber numberWithBool:NO],
nil];

要更改给定索引路径的行:

[checkedArray replaceObjectAtIndex:indexPath.row 
withObject:[NSNumber numberWithBool:YES]]; //add

[checkedArray replaceObjectAtIndex:indexPath.row
withObject:[NSNumber numberWithBool:NO]]; //remove

并在 cellForRowAtIndexPath 中确保明确设置配件:

if ([[checkedArray objectAtIndex:indexPath.row] boolValue]) {
cell.accessoryType = UITableViewCellAccessoryTypeCheckmark;
}
else {
cell.accessoryType = UITableViewCellAccessoryTypeNone;
}

关于iphone - 如何观察单元格附件类型 UITableViewCellAccessoryCheckmark 是否被选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12121061/

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