現在、表示されているテーブルビューセルのインデックスパスを取得していますが、表示されている行からさらに3つのインデックスパスを取得したいのですが、どうすればよいですか?
NSArray *visiblePaths = [tblView indexPathsForVisibleRows];
現在、表示されているテーブルビューセルのインデックスパスを取得していますが、表示されている行からさらに3つのインデックスパスを取得したいのですが、どうすればよいですか?
NSArray *visiblePaths = [tblView indexPathsForVisibleRows];
セクションが1つだけだとすると、そのセクションの最大行数を考慮して、セクションを作成できます。
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];
}
より多くのセクション(および/または最初に表示される前の行)に対しても実行可能です。うまくいけば、これらの要件をカバーするためにこれをどのように拡張するかが明確になります。