UIScrollView的判断位置的属性以下:

  • contentSize:CGSize类型,scrollview能够滑动的区域,例如,一个view的frame为 (0,0,320,480),而scrollview的contentSize为(320,1080),则表示scrollView的垂直滑动区域为整个 屏幕的3倍。css

  • contentView:scrollview的内容显示区域,通常状况下和scrollview的contentsize保持一致。ci

  • contentOffset:CGPoint类型,它表示scrollView当前的显示区域顶点相对于frame顶点的偏移量,如在上面的例子中,若是某一时刻contentOffset的值为(0,960),就表示scrollview的偏移量为(0,960)。后台

  • contentInset:UIEdgeInsets类型,srollciew的contentView的顶点相对于scrollview的位置,它标识了contenView开始显示的位置,这个属性和css以及xaml中的margin属性相似。scroll

知道了上面几个概念后,要判断srollciew是否滑到底部就容易多了,代码以下:im

    CGPoint offset = scrollView.contentOffset;数据

    CGRect bounds = scrollView.bounds;margin

    CGSize size = scrollView.contentSize;view

    UIEdgeInsets inset = scrollView.contentInset;vi

    CGFloat currentOffset = offset.y + bounds.size.height – inset.bottom;co

    CGFloat maximumOffset = size.height;

当currentOffset与maximumOffset的值相等时,即说明scrollview已经滑到底部了。

同理,还能够根具上述两个偏移量的差值实现当滑到某一区域时,作点其它什么事,好比当滑到离底部还有50个像素的时候,在后台加载更多的数据:

    if((maximumOffset – currentOffset)<50.0)

     NSLog(@”LoadMore…”);

相关文章
相关标签/搜索