UIScrollViewDelegate以及如何判断滚到底部
2015-01-26 14:16
621 查看
几个概念的理解:
contentSize:可滑动区域的大小 (即这个区域内的内容是可以滑动的!scrollview的frame
表示所有可滑动的内容,都在这个frame中进行滑动)
例子:
contentOffset:滑动视图里面的内容的相对位置
contentInset:滑动视图在外面的相对位置
1、只要view有滚动(不管是拖、拉、放大、缩小等导致)都会执行此函数
-(void)scrollViewDidScroll:(UIScrollView *)scrollView;
2、将要开始拖拽,手指已经放在view上并准备拖动的那一刻
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
3、将要结束拖拽,手指已拖动过view并准备离开手指的那一刻,注意:当属性pagingEnabled为YES时,此函数不被调用
-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset;
4、已经结束拖拽,手指刚离开view的那一刻
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
5、view将要开始减速,view滑动之后有惯性
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;
6、view已经停止滚动
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
7、view的缩放
-(void)scrollViewDidZoom:(UIScrollView *)scrollView
8、有动画时调用
-(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;
滚到底部:
#pragma mark - 代理方法,当scrollview处于滚动状态时执行
在此判断是否滚动到底部
- (void)scrollViewDidScroll:(UIScrollView *)sv
{
CGPoint offset = sv.contentOffset;
CGRect bounds = sv.bounds;
CGSize size = sv.contentSize;
UIEdgeInsets inset = sv.contentInset;
CGFloat currentOffset = offset.y + bounds.size.height - inset.bottom;
CGFloat maximumOffset = size.height;
//当currentOffset与maximumOffset的值相等时,说明scrollview已经滑到底部了
if( (maximumOffset - currentOffset) <
40.0 ){
NSLog(@"-----我要刷新数据-----");
}
}
contentSize:可滑动区域的大小 (即这个区域内的内容是可以滑动的!scrollview的frame
表示所有可滑动的内容,都在这个frame中进行滑动)
例子:
contentInset:滑动视图在外面的相对位置
1、只要view有滚动(不管是拖、拉、放大、缩小等导致)都会执行此函数
-(void)scrollViewDidScroll:(UIScrollView *)scrollView;
2、将要开始拖拽,手指已经放在view上并准备拖动的那一刻
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
3、将要结束拖拽,手指已拖动过view并准备离开手指的那一刻,注意:当属性pagingEnabled为YES时,此函数不被调用
-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset;
4、已经结束拖拽,手指刚离开view的那一刻
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
5、view将要开始减速,view滑动之后有惯性
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;
6、view已经停止滚动
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
7、view的缩放
-(void)scrollViewDidZoom:(UIScrollView *)scrollView
8、有动画时调用
-(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;
滚到底部:
#pragma mark - 代理方法,当scrollview处于滚动状态时执行
在此判断是否滚动到底部
- (void)scrollViewDidScroll:(UIScrollView *)sv
{
CGPoint offset = sv.contentOffset;
CGRect bounds = sv.bounds;
CGSize size = sv.contentSize;
UIEdgeInsets inset = sv.contentInset;
CGFloat currentOffset = offset.y + bounds.size.height - inset.bottom;
CGFloat maximumOffset = size.height;
//当currentOffset与maximumOffset的值相等时,说明scrollview已经滑到底部了
if( (maximumOffset - currentOffset) <
40.0 ){
NSLog(@"-----我要刷新数据-----");
}
}
相关文章推荐
- UIScrollView,点击、滑动翻页事件的区分以及如何直接获取UIScrollView上的点击事件
- 如何判断webview是不是滑到底部
- 判断uiscrollView滑到底部
- UIScrollView ,UITableView 和 UICollectionView 如何滚动到顶部或底部
- RecyclerView如何禁止垂直滑动以及判断RecyclerView是否可以滑动
- 如何判断webview是不是滑到底部
- UIScrollView如何判断是向右滚动还是向左滚动
- UIScrollView判断用户划到底部 (可用于实现loading more)
- 如何判断UIScrollView滑动方向
- 如何判断webview是不是滑到底部
- 如何判断uiscrollview是向上滚动还是向下滚动
- iOS UITableView(UIScrollView)滑动到底部的判断
- UIScrollView详解以及判断向上滑动还是向下滑动
- UIScorllView滚动动不起来的原因以及UIScrollViewDelegate回调方法说明
- 判断uiscrollView滑到底部
- UIScrollView的重要属性总结,以及UIScrollViewDelegate协议的使用
- iOS UITableView(UIScrollView)滑动到底部的判断
- RecyclerView如何判断是否滚动到底部
- 如何判断uiscrollview是向上滚动还是向下滚动
- ScrollView如何判断滑动到底部以及getHeight()方法与getMeasuredHeight()方法的一些理解