我需要限制 a 中的反弹UIScrollView
,使其在底部像往常一样反弹,但不会超过顶部的 X 像素(底部无关紧要)。
有没有办法限制弹跳大小?我认为也许像我们这样的委托中的一个方法scrollViewWillScroll
(而不是scrollViewDidScroll
)可以让我使用那些比 top+X 移动得更远的滚动事件,但到目前为止我一直找不到合适的滚动事件。
有什么线索吗?
我需要限制 a 中的反弹UIScrollView
,使其在底部像往常一样反弹,但不会超过顶部的 X 像素(底部无关紧要)。
有没有办法限制弹跳大小?我认为也许像我们这样的委托中的一个方法scrollViewWillScroll
(而不是scrollViewDidScroll
)可以让我使用那些比 top+X 移动得更远的滚动事件,但到目前为止我一直找不到合适的滚动事件。
有什么线索吗?
scrollViewDidScroll:
是正确的方法。在那里简单地调整 contentOffset 。
此示例将顶部反弹限制为 20 像素:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if (scrollView.contentOffset.y < -20) {
scrollView.contentOffset = CGPointMake(0, -20);
}
}
请注意,当反弹的原因是减速滑动而不是拖动时,在视图滚动回 0,0 之前会有一点不自然的延迟。但我认为没有办法阻止这种情况。基本上,scrollView 仍然会完全反弹,但不会显示它。