bon*_*oJR 2 uitableview ipad ios
我正在开发iOS 5项目,我正在使用表格视图来选择将添加到集合中的项目.我正确地设置AllowsMultipleSelectionDuringEditing为YES以使左侧的子弹和contentView缩进.
现在,我的问题是我有一个预先选择的项目列表,用户在进入编辑模式时应该看到.我查看了文档,但是我没有找到任何关于它的信息,以便在进入编辑模式时预先选择索引路径列表并启用多个选择.Apple是否提供预先选择一定数量项目的方法,还是应该自己开发此功能?
好吧,我发现了如何做到这一点以及一种优雅而优雅的方式,它比例外更简单:
UITableView具有selectRowAtIndexPath:animated:scrollPosition:选择行的方法.完成我正在寻找的最好方法是创建一个NSSet,NSIndexPaths并在设置UITableView编辑模式后立即迭代该集并逐个选择单元格.
例如,以这种方式:
- (NSArray *)_preselectedIndexPaths
{
NSMutableSet *preselectedItems = [NSMutableSet set];
NSUInteger s = 0, r = 0;
for (NSArray *section in self.data) {
for (id item in section) {
if ([item shouldBePreselected]) { //this is the condition
[preselectedItems addObject:[NSIndexPath indexPathForRow:r inSection:s]];
}
r++;
}
s++;
}
return [preselectedItems allObjects];
}
Run Code Online (Sandbox Code Playgroud)
然后,选择表视图中的项目:
[self.tableView setEditing:![self.tableView isEditing] animated:YES];
for (NSIndexPath *ip in [self _preselectedIndexPaths])
{
[self.tableView selectRowAtIndexPath:ip
animated:YES
scrollPosition:UITableViewScrollPositionNone];
}
Run Code Online (Sandbox Code Playgroud)
我希望这可以帮助别人.
| 归档时间: |
|
| 查看次数: |
1406 次 |
| 最近记录: |