我的 iPhone 应用程序中有一个表格视图
在那我想实施两个动作
当用户将表格滚动到顶部时。
当用户拉下表格视图时。
例如:
If(UserScrollThe tableViewToTop)
{
perform action: 1
}
If(UserScrollThe tableViewToDown)
{
perform action: 2
}
我们怎么知道使用将表格移动到顶部/底部..?
我的 iPhone 应用程序中有一个表格视图
在那我想实施两个动作
当用户将表格滚动到顶部时。
当用户拉下表格视图时。
例如:
If(UserScrollThe tableViewToTop)
{
perform action: 1
}
If(UserScrollThe tableViewToDown)
{
perform action: 2
}
我们怎么知道使用将表格移动到顶部/底部..?
检查使用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
}
您可以遵守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:
如果用户滚动并手动停止(通过停止手指)或用户滚动并放手,滚动视图会调用不同的委托方法,允许滚动视图继续滚动,直到它自己停止。