1

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

在那我想实施两个动作

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

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

例如:

If(UserScrollThe tableViewToTop)
{
 perform action: 1
}

If(UserScrollThe tableViewToDown)
{
 perform action: 2
}

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

4

2 回答 2

3

检查使用scrollView's delegate方法。

1套yourtableView.scrollView.delegate = self;

2)添加UIScrollViewDelegate.h文件


添加CGPoint previousContentOffset.h

 (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
 }
于 2013-05-01T09:55:38.873 回答
1

您可以遵守UIScrollViewDelegate协议并实现以下方法:

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

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

    if (scrollView.contentOffset.y > self.previousContentOffset.y) {
        //This was a scroll down - do something
     }
    } 
    

对于 #2,检查以确保在需要时调用它。有时,根据您使用它的目的,您可能还希望实现scrollViewDidEndDragging:willDecelerate和/或scrollViewDidEndScrollingAnimation:如果用户滚动并手动停止(通过停止手指)或用户滚动并放手,滚动视图会调用不同的委托方法,允许滚动视图继续滚动,直到它自己停止。

于 2013-05-01T10:00:32.313 回答