a simple question but I don't seem to have the right terminology to search Stackoverflow by it.
I have a UITableView with no sections, the user can scroll up and down a long list of data (rows) presented inside this tableview.
Question: how can I detect the most top cell row number after the user scrolled. (for example, if the user is scrolling 30 cells down, the top cell after the scroll is = 30)
You could try using UITableView
's -indexPathsForVisibleRows
or -indexPathForRowAtPoint
.
For example, let's say that you want to print the indexPath of the topmost visible cell, when you stop dragging your table. You could do something like this:
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ NSIndexPath *firstVisibleIndexPath = [[self.tableView indexPathsForVisibleRows] objectAtIndex:0]; NSLog(@"first visible cell's section: %i, row: %i", firstVisibleIndexPath.section, firstVisibleIndexPath.row); }
For Swift 3.0
let topVisibleIndexPath:IndexPath = self.tableView.indexPathsForVisibleRows![0]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With