首页 > 代码库 > 关于TableVIew的上下滚动如何探测其边界

关于TableVIew的上下滚动如何探测其边界

UITableView is a subclass of UIScrollView, and UITableViewDelegate conforms to UIScrollViewDelegate. So the delegate you attach to the table view will get events such as scrollViewDidScroll:, and you can call methods such as contentOffset on the table view to find the scroll position.

 

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{       CGFloat height = scrollView.frame.size.height;    CGFloat contentYoffset = scrollView.contentOffset.y;    CGFloat distanceFromBottom = scrollView.contentSize.height - contentYoffset;    if(distanceFromBottom < height)     {        NSLog(@"end of the table");    }}

 

 

- (void)scrollViewDidScroll:(UIScrollView *)aScrollView {    CGPoint offset = aScrollView.contentOffset;    CGRect bounds = aScrollView.bounds;    CGSize size = aScrollView.contentSize;    UIEdgeInsets inset = aScrollView.contentInset;    float y = offset.y + bounds.size.height - inset.bottom;    float h = size.height;    // NSLog(@"offset: %f", offset.y);       // NSLog(@"content.height: %f", size.height);       // NSLog(@"bounds.height: %f", bounds.size.height);       // NSLog(@"inset.top: %f", inset.top);       // NSLog(@"inset.bottom: %f", inset.bottom);       // NSLog(@"pos: %f of %f", y, h);    float reload_distance = 10;    if(y > h + reload_distance) {        NSLog(@"load more rows");    }}

 

上述代码可以添加到tableViewDelegate的类当中~

 

关于TableVIew的上下滚动如何探测其边界