如何检测 UITableView 仅在 iOS 中向下滚动?
Posted
技术标签:
【中文标题】如何检测 UITableView 仅在 iOS 中向下滚动?【英文标题】:How to detect UITableView scrolling down only in iOS? 【发布时间】:2014-02-08 09:39:16 【问题描述】:现在我可以使用以下代码检测UITableView
上下滚动。
但是我只想在向下滚动时触发事件。不包括上滚动。
在- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
中使用这些代码
NSInteger currentOffset = scrollView.contentOffset.y;
NSInteger maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height;
if (maximumOffset - currentOffset <= 20.0)
// [self methodThatAddsDataAndReloadsTableView];
如何仅检测UITableView
中向下滚动到底部。
【问题讨论】:
【参考方案1】:当拖动结束时,您可以将当前contentOffset
与目标contentOffset
进行比较。或查看scrolling
速度标志:
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView
withVelocity:(CGPoint)velocity
targetContentOffset:(inout CGPoint *)targetContentOffset
NSLog(@"%@", scrollView.contentOffset.y > targetContentOffset->y ? @"top" : @"bottom");
NSLog(@"%@", velocity.y > 0 ? @"bottom" : @"top");
【讨论】:
以上是关于如何检测 UITableView 仅在 iOS 中向下滚动?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 和 Android 的给定时间检测用户是不是仅在一台设备上处于活动状态
iOS UITableView reloadData 仅在我第二次调用我的 reload 函数时刷新表