ios - 为 UIScrollView 禁用弹跳时,滚动指示器卡住

标签 ios cocoa-touch uiscrollview

我有这个问题,而且我在任何地方都找不到任何其他提及的内容。

基本上,如果我在 UIScrollView 中禁用弹跳(因此 UITableView 等衍生产品也会受到影响),如果用户滚动到顶部,然后使用另一个手势尝试继续滚动,滚动指示器可能会卡住快速滑动。

一旦发生这种情况,除非用户再次滚动或点击 ScrollView ,否则滚动指示器不会消失。最大的问题是 ScrollView 会捕获该点击,因此如果您尝试点击表格单元格,第一次什么也不会发生。

我已经在我的设备和模拟器上仅使用一个准系统应用程序对此进行了测试,这似乎只是 UIScrollView 和禁用弹跳的普遍问题;但是,就像我说的,我在互联网上找不到任何其他提及这一点的内容。

这只是一个错误吗?这是预期的行为吗?难道我做错了什么?如果这是一个错误,那么有人知道解决方法或修复方法吗?

最佳答案

在我的例子中,我有两个 UIScrollView ,一个嵌套在另一个里面。 当内部 scroll view 到达顶部时,我强行将 contentOffset.y 设置为 0 (我需要这个来允许外部 ScrollView 开始滚动它的内容 View )。这导致了此问题中描述的 ScrollView 不良行为。

修复方法是将 contentOffset.y 设置为 -1,这允许 ScrollView 自然地(自行)滚动回 0 ,挂起的行为被驳回

希望这对其他人有帮助✋

关于ios - 为 UIScrollView 禁用弹跳时,滚动指示器卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17005196/

相关文章:

ios - 在表格 View 中缓存视频

objective-c - NSWindowController 与 NSViewController 之间的区别

iphone - UIViewController 与 UIView - 哪一个应该创建 subview ?

ios - 使 UISlider 高度变大?

ios - 在 ScrollView 中添加现有的 View Controller

ios - ScrollView 类 iOS

ios - 数据结构设计与存储

objective-c - 在 Objective - C 中不使用未使用的类导入很重要吗?

ios - 无法让 UIScrollView 在 UITableViewCell 内部被识别,nil 错误

ios - 使用数组在 UITableView 中具有不同标签颜色的不同单元格