ios – 检测UITableView的底部“反弹”

前端之家收集整理的这篇文章主要介绍了ios – 检测UITableView的底部“反弹”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个表视图,当用户向下滚动UITableView(按下拇指向上)时执行动画,当用户在UITableView上向上滚动(按下拇指向下)时,执行不同的动画.

问题是当用户到达UITableView的底部并且它反弹时,表会记录向上然后向下移动,从而在不应该执行时执行动画.

滚动到顶部时会发生同样的确切行为;但是,我能够像这样检测它:

  1. - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
  2.  
  3. self.lastContentOffset = scrollView.contentOffset;
  4.  
  5. }
  6.  
  7.  
  8. -(void) scrollViewDidScroll:(UIScrollView *)scrollView {
  9.  
  10. // Check if we are at the top of the table
  11. // This will stop animation when tableview bounces
  12.  
  13. if(self.tableView.contentOffset.y < 0){
  14. // Dont animate,top of tableview bounce
  15.  
  16.  
  17. } else {
  18.  
  19. CGPoint currentOffset = scrollView.contentOffset;
  20.  
  21. if (currentOffset.y > self.lastContentOffset.y) {
  22.  
  23. // Downward animation
  24. [self animate:@"Down"];
  25.  
  26. } else {
  27.  
  28. // Upward
  29. [self animate:@"Up"];
  30.  
  31. }
  32.  
  33. self.lastContentOffset = currentOffset;
  34.  
  35. }
  36.  
  37. }

这很完美,但对于我的生活,我无法找出检测底部的if条件.我确信它很简单,我只是想不通.

解决方法

这样的事情怎么样:
  1. if (self.tableView.contentOffset.y >= (self.tableView.contentSize.height - self.tableView.bounds.size.height))
  2. {
  3. // Don't animate
  4. }

猜你在找的iOS相关文章