现在,我采用可见的tableview单元格的索引路径。但是我想从可见的行中采用另外3条索引路径,我该怎么做?

NSArray *visiblePaths = [tblView indexPathsForVisibleRows];

最佳答案

假设只有一个部分,则可以创建它们,注意该部分的最大行数:

NSMutableArray *visiblePaths = [tblView indexPathsForVisibleRows] mutableCopy];
NSInteger lastIndexPath = [visiblePaths lastObject];
NSInteger lastRow = lastIndexPath.row;
NSInteger extraRows = 3;
NSInteger maxRow = MIN(lastRow+extraRows, [self tableView:tblView numberOfRowsInSection:0] - 1);

for (int i = lastRow+1; i < maxRow; i++) {
    NSIndexPath *newPath = [NSIndexPath indexPathForRow:i inSection:0];
    [visiblePaths addObject:newPath];
}


它对于更多的部分(和/或第一个可见的行)也是可行的。希望大家很清楚如何将其扩展到满足这些要求。

09-25 17:26