怎样判断tableview是否滚动到底部?

解决方案 »

  1.   

    3 down vote
    in the tableview delegate do something like this- (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");
        }
    }
      

  2.   

    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.