我正在使用“scrollViewDidEndDecelerating”来加载更多数据当用户转到列表数据滚动器和同一页面时(在此页面上)我正在使用UICollectionView并且当用户转到最后时也一样页面加载更多数据 但 scrollViewDidEndDecelerating 不适用于UICollectionView请帮忙 这是我的代码 我认为 scrollViewDidEndDecelerating 适用于UICollexction和Tableview,但是当我尝试再添加一个SCrollerViewDidEndDec时,这会返回一个错误,因为我已经在一次定义了
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
float endScrolling = scrollView.contentOffset.y + scrollView.frame.size.height;
if (endScrolling >= scrollView.contentSize.height)
{
HUD = [[MBProgressHUD alloc] initWithView:self.view];
HUD.frame = CGRectMake(95, 330, 140, 150);
HUD.labelText = @"Load More ...";
HUD.detailsLabelText = @"Load More ...";
HUD.mode = MBProgressHUDModeIndeterminate;
[HUD show:YES];
[self.view addSubview:HUD];
fromValue =fromValue+4; //[NSString stringWithFormat:@"%d", endvalue];
[self getdata2];
}
}
答案 0 :(得分:2)
您应该同时实施scrollViewDidEndDecelerating
和scrollViewDidEndDragging:willDecelerate:
完整的解决方案包括检查willDecelerate
是否为NO
并调用scrollViewDidEndDecelerating
中的相同逻辑 - 如果您在没有减速的情况下停止滚动,则会调用此委托方法
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
if (!decelerate) {
// preloading logic
}
}