ios - 限制 iOS 中 UIScrollview 的弹跳

标签 ios uiscrollview bounce

我需要限制 UIScrollView 中的弹跳,以便它在底部像往常一样弹跳,但不会超过顶部的 X 像素(底部无关紧要)。

有什么办法可以限制弹跳的大小吗?我认为也许委托(delegate)中的一个方法,例如我们 scrollViewWillScroll(而不是 scrollViewDidScroll)将允许我使用那些移动得比 top+X 更远的滚动事件,但我有至今找不到合适的。

有什么线索吗?

最佳答案

scrollViewDidScroll: 是正确的方法。简单地调整那里的 contentOffset。

此示例将顶部反弹限制为 20 像素:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView.contentOffset.y < -20) {
        scrollView.contentOffset = CGPointMake(0, -20);
    }
}

请注意,当弹跳的原因是减速滑动而不是拖动时,在 View 滚动回 0,0 之前会有一点不自然的延迟。但我认为没有办法阻止这种情况。基本上 scrollView 仍然会完全弹跳,但不会显示它。

关于ios - 限制 iOS 中 UIScrollview 的弹跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13842427/

相关文章:

ios - UITableView 和 UICollectionView 之间同步滚动 : lag when using multiple scrollToRowAtIndexPath

javascript - jQuery UI 弹跳(双图像)

ios - 如何在 iOS 中缩放 ScrollView 图像?

iphone - 当内容小于 View 大小时 UIScrollView 弹起

ios - 对返回空数据的两个按钮使用相同的 pickerView

ios - 从第二个模态视图返回到 Root View

java - 在 Java 中如何在形状中嵌套形状?

c# - Brickbreaker 克隆、球砖碰撞和砖碰撞时的球行为

iphone - 使用点击手势识别器传递参数

ios - React Native Module 中的 EADemo 从未接收到委托(delegate)方法 handleEvent NSStreamEventOpenCompleted?