5

短的

如何控制 UIScrollView 上的滑动是否产生了足够大的 Y 增量以被视为垂直滑动并让它由嵌套的 UIScrollView (UIWebView) 处理?

我有一个 UIScrollView 水平页面。“页面”是一个 UIWebView(其中包含一个 UIScrollView)并且只能垂直滚动。内容大小均已正确设置,以便按预期工作。

但是,我注意到,当您尝试快速水平滑动时,您很有可能会稍微对角滑动。如果它只是一点点,滚动视图会按照我的意愿处理它,但是 Y delta 不时足以使嵌套滚动视图(UIWebView)将滑动识别为垂直滑动,而 X delta 可以考虑大到足以指示水平滑动。

我发现很多旧文章解释说应该覆盖标准的 UIResponder 触摸方法(例如touchesBegan:withEvent:),但是,现在这一切都由手势识别器处理。

那么如何影响分页滚动视图的平移手势识别器以允许更多的 Y 增量用于水平滑动?

根据我的需要,使其工作的一种方法是:

  • delaysContentTouches在分页滚动视图上设置为NO
  • 对嵌套滚动视图的平移手势识别器添加对分页滚动视图的平移手势识别器的依赖以失败。

但是,这会破坏嵌套滚动视图中的垂直滚动,从而在滑动结束并快速完成之前无法识别它们。我怀疑这是因为分页滚动视图的平移手势识别器在触摸结束之前不会失败。

4

0 回答 0