UIScrollView "out of frame" 触摸区域没有响应

UIScrollView "out of frame" touch areas don't respond

我正在创建一个 UIScrollView,如 (320, 320),在原点 (0, 400)。假设现在我正在设计 iPhone 5S,高度为 568pts

这意味着我的 scrollView 的底部没有出现在 ViewControllerview 中,因为它太高了。

稍后,我将整个 ViewController view.frame 向上移动 ~152pts,让我们能够完全显示 scrollView 及其之前隐藏的高度。

问题:即使 scrollView 现在完全可见,隐藏的部分也没有响应触摸。然而,始终可见的上半部分功能正常。

关于发生了什么以及如何解决它有什么想法吗?谢谢

根据您提供的信息,您正在将整个 view.frame 向上移动 152 磅,但视图的大小保持不变。您还应该将其高度增加 152 磅。

发生这种情况是因为隐藏的 scrollView 部分仍在 view.frame 的边界之外绘制。

如果您的框架的默认高度为 568,则您的 scrollView 将从 y 400 绘制到 y 720。这意味着隐藏的部分正好是 152,如您所说。问题是,您将 scrollView 的父级向上移动 152,但 view.frame 的高度仍为 568,并且 scrollView 仍将绘制在位置 400(相对于 view.frame ) 延伸至 720,仍超出 view.frame.

152 点

如果这个 viewController 不是任何其他 viewController 的 childViewController,我建议您将 scrollView 本身向上移动,以避免此类问题。