UIScrollView倾向于“快照”回到之前的位置

时间:2009-10-05 15:56:02

标签: iphone uiscrollview

我正在使用UIScrollerView,当我滚动它时,我发现它往往会“快速”回到之前的位置。

如果UItableView的滚动条停留在用户释放手指的位置,我想模拟行为。

设置属性:

[scroller setCanCancelContentTouches:NO];
scroller.clipsToBounds = YES;   
[scroller setScrollEnabled:YES];
scroller.userInteractionEnabled = YES;
scroller.alwaysBounceHorizontal = YES;
scroller.alwaysBounceVertical= NO;
scroller.showsVerticalScrollIndicator = NO;
scroller.scrollsToTop = NO;
scroller.bounces = NO;
scroller.pagingEnabled = NO;

2 个答案:

答案 0 :(得分:1)

快速退回有几个可能的原因。

可能是你将pagingEnabled设置为YES,这意味着当用户放开手指时,它会捕捉到最近的页面边界。

另一个是你没有正确设置contentSize。如果您实际上可以滚动到顶部和底部并将其留在那里而不会反弹,这不是问题。

答案 1 :(得分:0)

- (void)scrollViewDidScroll:(UIScrollView *)sender {
    int scrollDirection;
    if (lastContentOffset > self.scrollView.contentOffset.x){
        scrollDirection = RIGHT;



        NSLog(@"right");
    }
    else if (lastContentOffset < self.scrollView.contentOffset.x) {
        scrollDirection = LEFT;
        NSLog(@"left");
        lastContentOffset = self.scrollView.contentOffset.x;



    }

}

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {

    lastContentOffset = self.scrollView.contentOffset.x;

}