滚动到顶部手势敲击区域的确切界限是什么?

时间:2013-09-02 10:26:00

标签: iphone ios user-interface uiscrollview

当使用滚动到顶部的手势(请参阅[UIScrollView scrollsToTop])作为用户时,我发现很难找到正确的区域来生成此手势。在我的测试设备上,一个iPhone 4S,这个区域似乎占据了我应用区域顶部的一个非常薄的部分,加上只有状态栏的底部,即使合并后,仍然会让它变得相当薄,难以击中区域。

  • 这个区域的确切界限是什么?
  • 可以通过编程方式进行配置,以便更轻松地使用此手势,例如最明显的是使攻丝区域更大?

鉴于Apple的设计指南指定了可触摸对象的外观以及攻丝区域必须覆盖的最小尺寸,似乎此功能甚至不符合Apple自己的用户界面规则。我认为关于这个特征的讨论一方面很难发现,而且很难在第二个地方使用。参与此类讨论或对此主题的任何其他见解都会很有趣。

2 个答案:

答案 0 :(得分:1)

当我们触摸状态栏时,

scrollsToTop在scrollview上工作,而scrolllsToTop属性值为YES时没有其他滚动视图。视图层次结构中应该只有一个滚动视图,该值为YES。 所以可触摸的rect将是状态栏的框架。如果您想捕获此事件,则必须使用状态栏的自定义覆盖来执行此操作。

答案 1 :(得分:1)

是的,触摸状态栏很困难。一种解决方法是添加状态栏覆盖。使叠加视图更大可能会有所帮助。

  1. 将自定义视图添加到UIWindow的顶部。
  2. 注册UITapGestureRecognizer
  3. 处理点击操作。例如将滚动视图滚动到顶部。
  4. 你应该知道的一些事情:

    1. 轮换
    2. 自动调整大小
    3. 触摸事件下方。您的叠加层可能会阻止导航按钮项的触摸事件,因此请在叠加视图中执行hitTest以确保用户可以触摸按钮区域。
    4. BTW:很少有用户知道他们可以点击状态栏以使滚动视图滚动到顶部。有点令人沮丧的强硬。 ;)