ios的控件UIScrollView的位置定位

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

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

contentView:scrollview的内容显示区域,一般情况下和scrollview的contentsize保持一致。

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

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

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

CGPointoffset = scrollView.contentOffset;

CGRectbounds = scrollView.bounds;

CGSizesize = scrollView.contentSize;

UIEdgeInsetsinset = scrollView.contentInset;

CGFloatcurrentOffset = offset.y+ bounds.size.height– inset.bottom;

CGFloatmaximumOffset = size.height;

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

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

if((maximumOffset – currentOffset)<50.0)

NSLog(@”LoadMore…”);

你可能感兴趣的:(ios的控件UIScrollView的位置定位)