使用iOS-5 UITableView允许多重选择,有没有什么快速的方法可以选择(并突出显示)所有的行呢?我说的是超过数千行的fetchedResultsController数据。
我试过使用selectRowAtIndexPath:动画循环,对于大型数据集,这似乎不是一个好主意。
此外,我还发现如果取消选择所有行,使用tableview reloadData将比在循环中取消选择reloadData:animated:更好。这是清除选择的安全方法吗?
谢谢
发布于 2012-03-16 13:48:29
据我所知,您没有任何其他选择行的可能性,只有selectRowAtIndexPath:。
我认为,你不应该在表视图中有这么多行,试着优化它。你真的需要这么多行吗?
发布于 2013-02-05 17:10:41
我也有同样的问题,我有几个单元格还没有创建。我必须把它们都选出来。但您无法到达未创建的单元格。所以我不能使用getTableViewCellForRowAtIndex: function。
我有一个针对选定实体的解决方案,我将整个集合设置为selectedcollection。但我的问题出在UI上,我必须把它们展示给用户。
所以我决定创建一个checkedXXXTableViewCell,并从XXXTableViewCell继承了这个类。(它们完全使用相同的业务),并且我在checkedXXXTableViewCell中选择了check按钮(这是我的自定义checkButton)。
最后,我需要修改我的cellForRowAtIndexPath:函数,如下所示。它工作得很好。希望能对你有所帮助。:)
-(UITableViewCell *)getCell:(Entity *)entity cellForRowAtIndexPath:(NSIndexPath *)indexPath identifier:(NSString *)cellIdentifier {
if (allSelected == 1) {
return [[CheckedxxxCell alloc] initWithEntity:entity index:indexPath.row reuseIdentifier:cellIdentifier];
}
else {
return [[xCell alloc] initWithEntity:entity index:indexPath.row reuseIdentifier:cellIdentifier];
}
}https://stackoverflow.com/questions/9731199
复制相似问题