scrollViewWillBeginDragging中滚动的数量

时间:2013-09-06 09:42:43

标签: iphone ios uitableview uiscrollviewdelegate

有没有办法找到UITableView在任何方向滚动了多少?我对数量不感兴趣。

3 个答案:

答案 0 :(得分:2)

您可以通过查看其contentOffset属性轻松获取表视图的确切偏移量。对于垂直滚动,请查看:

tableView.contentOffset.y;

通过此,您可以将您的tableview带到任何特定位置

[theTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:savedScrollPosition inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO];                        
CGPoint point = theTableView.contentOffset;
point .y -= theTableView.rowHeight;
theTableView.contentOffset = point;

您需要在10之后加载更多单元格,您可以使用此逻辑

- (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");
    }
}

答案 1 :(得分:1)

拖动开始时和结束时,您需要衡量contentOffset的{​​{1}}。取两者之间的差异,它将为您提供从初始位置到最终位置的变化量。

UITableView

希望有所帮助!

答案 2 :(得分:0)

你可以使用以下语法找到它......

NSLog(@"scrolled:%f",yourtableview.contentOffset.y);//y for vertical, x for horizontal