2 ooomiao oOOMIAO 于 2013.05.02 10:37 提问

表视图滚动到底部的获取

iPhone中有表试图。想实现两个功能:

1.用户将表滚动到底部时。
2.用户拉下了tableview时。

例如:

If(UserScrollThe tableViewToTop)
{
 perform action: 1
}

If(UserScrollThe tableViewToDown)
{
 perform action: 2
}

如何获取用户进行了这两个动作?

1个回答

zhanglei5415
zhanglei5415   Rxr 2013.05.07 09:35
已采纳

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.

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");
    }
}
Csdn user default icon
上传中...
上传图片
插入图片