我们如何知道iPhone中的表格视图中的滚动到顶部(按下顶部)

时间:2013-05-01 09:49:49

标签: iphone objective-c uiscrollview uitableview

我的iPhone应用程序中有一个表格视图

因为我想实现两个动作

  1. 当用户将表格滚动到顶部时。

  2. 当用户拉下表格视图时。

  3. 对于Ex:

    If(UserScrollThe tableViewToTop)
    {
     perform action: 1
    }
    
    If(UserScrollThe tableViewToDown)
    {
     perform action: 2
    }
    

    我们怎么知道使用将表移到顶部 /底部..?

2 个答案:

答案 0 :(得分:3)

使用scrollView's delegate方法检查。

1)设置yourtableView.scrollView.delegate = self;

2)在.h文件中添加UIScrollViewDelegate


在.h

中添加CGPoint previousContentOffset
 (void)scrollViewDidScroll:(UIScrollView *)scrollView 
 {
   if (scrollView.contentOffset.y > previousContentOffset.y) {
       //scrolled downward
       //perform action for scrolled downward
   }
   else
   {
       //scrolled upward
       //perform action for scrolled upward
   }

   previousContentOffset = scrollView.contentOffset
 }

答案 1 :(得分:1)

您可以符合UIScrollViewDelegate协议并实施以下方法:

  1. 要滚动到顶部,请使用scrollViewDidScrollToTop:
  2. 要向下滚动,您可以实现scrollViewDidScroll:,记录内容偏移量,并将其与之前的内容偏移量进行比较。例如:

    - (void)scrollViewDidScroll:(UIScrollView*)scrollView {

    if (scrollView.contentOffset.y > self.previousContentOffset.y) {
        //This was a scroll down - do something
     }
    } 
    
  3. 对于#2,请检查以确保在需要时调用它。有时,根据您使用它的内容,您可能还需要实现scrollViewDidEndDragging:willDecelerate和/或scrollViewDidEndScrollingAnimation:,因为如果用户手动滚动和停止(通过停止它们)滚动视图会调用不同的委托方法手指)或者如果用户滚动并放开,允许滚动视图继续滚动直到它自己停止。