1

我创建了一个应用程序,其中我有一个大滚动视图(两个页面高度),并且导航栏是可见的。此外,我进行了设置,以便滚动视图开始滚动到底部页面,并且 UIScroll 视图未注册 30px 标记以下的触摸(例如,如果您在导航栏下方触摸超过 30px,您将能够按下按钮但不滚动 UIScrollView)。这一切都非常有效,让我可以让它看起来像是从上面拉下一扇窗户,所有这些都是一个整洁的效果。

问题是在用例测试中,许多用户似乎敲得太高(点击 UINavigationBar),因此他们试图拉下窗口的滑动手势没有被读取。基本上,如果触摸从导航栏开始,整个手势都会被忽略。这会导致用户感到沮丧(知道他们应该能够拉下窗口但无法拉下)或认为下拉已因某种原因被禁用。

我想实现一种方法,如果用户的触摸从 UINavigationBar 内开始但不在其中一个导航按钮上,则触摸将传递给 UIScrollView。这是可能的,如果是这样,我将如何去做?

4

1 回答 1

1

尝试使用自定义导航栏。从 UINavigation 栏继承,然后在您想要的位置添加一个子视图并在那里添加一个手势。

于 2013-01-11T06:04:43.853 回答