给定一个在任何给定时间都有一个可见单元格的 UITableView,我如何确定哪个单元格是most滚动表视图时在视图中?
我知道我可以通过这样做获得一系列可见单元格:
NSArray *paths = [tableView indexPathsForVisibleRows];
然后通过执行以下操作获取最后一个单元格(或第一个单元格,或其他任何单元格):
UITableViewCell* cell = (UITableViewCell*)[tableView cellForRowAtIndexPath:[paths lastObject]];
但是如何比较所有可见的单元格并确定其中哪个单元格最显眼呢?
以下逻辑将使您在滚动末尾获得最明显的单元格:
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
CGRect visibleRect = (CGRect){.origin = self.tableView.contentOffset, .size = self.tableView.bounds.size};
CGPoint visiblePoint = CGPointMake(CGRectGetMidX(visibleRect), CGRectGetMidY(visibleRect));
NSIndexPath *visibleIndexPath = [self.tableView indexPathForRowAtPoint:visiblePoint];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)