Iphone UIScrollView倾向于;snap";回到以前的位置

Iphone UIScrollView倾向于;snap";回到以前的位置,iphone,uiscrollview,Iphone,Uiscrollview,我使用的是UIScrollerView,我发现当我滚动它时,它倾向于“快速”返回到以前的位置 我想模拟UItableView的滚动条保持在用户松开手指的位置时的行为 属性集: [scroller setCanCancelContentTouches:NO]; scroller.clipsToBounds = YES; [scroller setScrollEnabled:YES]; scroller.userInteractionEnabled = YES; scroller.always

我使用的是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;

有几个可能的原因造成了这种反弹

一种可能是您将PaginEnabled设置为YES,这意味着当用户松开手指时,它将捕捉到最近的页面边界

另一个原因是contentSize设置不正确。如果您确实可以滚动到顶部和底部并将其保留在那里而不反弹,则这不是问题。

-(void)scrollViewDidScroll:(UIScrollView*)发送者{
- (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;

}
int滚动方向; if(lastContentOffset>self.scrollView.contentOffset.x){ 滚动方向=右; NSLog(@“右”); } else if(lastContentOffset
谢谢mahboudz!!我粘贴了滚动条的配置,我刚刚更改了PaginEnabled,我得到了相同的行为:(再次感谢:)Alejandra不客气,但我不确定我是否理解。这解决了你的问题吗?或者您需要更多帮助吗?您可以滚动到底部或顶部,让它保持在该位置,还是它总是反弹开?我尝试了您的建议,但没有解决问题:(我可以从底部滚动到顶部,但是如果我想停留在中间的某个点,滚动轴就会移回另一个位置。谢谢MaBuoudz!!!!你的建议是对的。我在我的代码的另一部分中覆盖了PAGIN使能的属性为:是的,非常感谢你的帮助:)