首先定义三个变量:{
CGFloat contentOffsetY;
CGFloat oldContentOffsetY;
CGFloat newContentOffsetY;
}
接下来我们要使用到滚动式图的三个协议方法,分别是//开始拖拽视图 // 完成拖拽 // 进行中
//开始拖拽视图
-
(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
contentOffsetY = scrollView.contentOffset.y;
}
// 完成拖拽(滚动停止时调用此方法,手指离开屏幕前)
-
(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
oldContentOffsetY = scrollView.contentOffset.y;
}
pragma mark - UIScrollViewDelegate
-
(void)scrollViewDidScroll:(UIScrollView *)scrollView{
newContentOffsetY = _detailTableView.contentOffset.y;
if (newContentOffsetY > oldContentOffsetY && oldContentOffsetY > contentOffsetY) { // 向上滚动
NSLog(@"up");
} else if (newContentOffsetY < oldContentOffsetY && oldContentOffsetY < contentOffsetY) {// 向下滚动
NSLog(@"down");
} else {
NSLog(@"dragging");
}
if (scrollView.dragging) { // 拖拽
NSLog(@"contentOffsetY: %f", contentOffsetY); NSLog(@"newContentOffsetY: %f", _detailTableView.contentOffset.y); if ((scrollView.contentOffset.y - contentOffsetY) >5.0f) { // 向上拖拽 } else if ((contentOffsetY - scrollView.contentOffset.y) > 5.0f) { // 向下拖拽 } else { }
}
}
网友评论