如果对角线滑动是针对水平UIScrollView还是嵌套垂直UIScrollView,请控制?

时间:2012-11-16 19:44:08

标签: uiscrollview ios6 nested swipe diagonal

如何控制UIScrollView上的滑动是否已将足够大的Y delta视为垂直滑动并让它由嵌套的UIScrollView(UIWebView)处理?

我有一个横向页面的UIScrollView。 “页面”是一个UIWebView(包含一个UIScrollView),只能垂直滚动。内容大小都已正确设置,以便按预期工作。

但是,我注意到当你尝试快速水平滑动时,你很有可能进行略微对角滑动。如果它只是一点点,滚动视图就像我想的那样处理它,但是偶尔的Y delta足以使嵌套的scrollview(UIWebView)将滑动视为垂直滑动,而X delta可以被认为是大到足以指示水平滑动。

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

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

根据需要,使其成功的一种方法是:

  • 将分页滚动视图上的delaysContentTouches设置为NO
  • 到嵌套滚动视图'平移手势识别器添加对分页scrollview的平移手势识别器的依赖关系失败。

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

0 个答案:

没有答案