我正在使用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;
答案 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;
}