0

当以用户身份使用滚动到顶部手势(请参阅[UIScrollView scrollsToTop])时,我发现很难点击正确的区域来生成此手势。在我的测试设备 iPhone 4S 上,这个区域似乎占据了我的应用程序区域顶部的一个非常薄的部分,并且只占据了状态栏的底部,即使结合在一起,它仍然很薄,很难击中区域。

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

鉴于 Apple 的设计指南指定了可触摸对象的外观以及必须覆盖的最小尺寸点击区域,因此该功能似乎甚至不符合 Apple 自己的用户界面规则。我想已经有关于这个功能的讨论,首先是很难发现,其次是很难使用。对此类讨论或有关该主题的任何其他见解的任何引用都会很有趣。

4

2 回答 2

1

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

于 2013-09-02T11:46:53.303 回答
1

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

  1. 将自定义视图添加到UIWindow.
  2. 注册一个UITapGestureRecognizer.
  3. 处理点击动作。例如滚动滚动视图到顶部。

您应该注意的几件事:

  1. 回转
  2. 自动调整大小
  3. 在触摸事件下方。您的覆盖可能会阻止导航按钮项目的触摸事件,因此请hitTest在覆盖视图中执行以确保用户可以触摸按钮区域。

顺便说一句:很少有用户知道他们可以点击状态栏来让滚动视图滚动到顶部。有点令人沮丧的艰难。;)

于 2013-11-21T07:13:43.323 回答