此页面 http://networkpx.blogspot.com/2009/07/multiple-row-selection-with-uitableview.html
提到了一种实现表视图的方法,可以允许多个行选择。
在撰写本文时,似乎并不是一种幸运的方式。
现在,显然,Apple正在允许这种tableViews。
文章提到了这个
NSArray* selectedRows = [tableView indexPathsForSelectedRows];
作为获取所有行的列表的方法,但这不是SDK的合法功能。
最大的问题是:如何获取所有选定行的列表,以便我可以对它们执行操作?
谢谢
回答一些问题......这是我用来发现是否选择了一行的代码,但这给了我零条目。
NSMutableArray *selectedRows = [[NSMutableArray alloc] init];
for (int i=0; i<[list count]; i++) {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
UITableViewCell *aCell = (UITableViewCell*) [myTable cellForRowAtIndexPath:indexPath];
if (aCell.accessoryType == UITableViewCellAccessoryCheckmark) {
[selectedRows addObject:indexPath];
}
}
// selectedRows has always 0 entries... all cells give me their type as UITableViewCellAccessoryNone even those with checkmark
答案 0 :(得分:2)
Apple将拒绝适用于iOS 4及更低版本的应用。
我们在您的应用中发现了以下非公开API:
indexPathsForSelectedRows
答案 1 :(得分:1)
创建一个NSMutableArray。 每当选择表格单元格时,请在数组中插入当前索引路径。每当他取消选择单元格时,将其从阵列中移除。最终数组将包含您选择的所有内容。
表格中的MultipleCheck - 带演示的UITableView示例
http://sugartin.info/2011/08/19/multiplecheck-in-table-uitableview/
答案 2 :(得分:0)
您是否希望用户同时选择多行?如果没有,您可以创建一个数组,用于保存用户选择它们时选择的每一行。
同样对于复选标记,您可以只是UITableViewCell的子类。