我的iPhone应用程序中有一个表格视图
因为我想实现两个动作
当用户将表格滚动到顶部时。
当用户拉下表格视图时。
对于Ex:
If(UserScrollThe tableViewToTop)
{
perform action: 1
}
If(UserScrollThe tableViewToDown)
{
perform action: 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
协议并实施以下方法:
scrollViewDidScrollToTop:
要向下滚动,您可以实现scrollViewDidScroll:
,记录内容偏移量,并将其与之前的内容偏移量进行比较。例如:
- (void)scrollViewDidScroll:(UIScrollView*)scrollView {
if (scrollView.contentOffset.y > self.previousContentOffset.y) {
//This was a scroll down - do something
}
}
对于#2,请检查以确保在需要时调用它。有时,根据您使用它的内容,您可能还需要实现scrollViewDidEndDragging:willDecelerate
和/或scrollViewDidEndScrollingAnimation:
,因为如果用户手动滚动和停止(通过停止它们)滚动视图会调用不同的委托方法手指)或者如果用户滚动并放开,允许滚动视图继续滚动直到它自己停止。