ios – 如何修改触摸和拖动灵敏度?

我正在为一个身体残疾的人群开发应用程序,在测试中我们发现他们在认的触摸拖动功能方面遇到了很多麻烦.

我们有一个屏幕,其中UIScrollView中有一个图标网格.您可以触摸图标将其激活,您可以触摸拖动网格中的任何位置,包括图标,滚动网格并查看更多图标.

在iOS中,认行为是您在一个动作中触摸并拖动.这需要一定程度的物理协调,如果您触摸并暂停然后拖动,或稍微偏离航线,系统会将此视为简单的触摸.所以我们的测试人员正在做的事情如下:

>触摸,暂停片刻,然后尝试拖动.网格不滚动.如果他们试图通过拖动图标滚动,当他们释放触摸时,它会激活图标.
>触摸,尝试垂直拖动(唯一支持的方向),但首先水平转向一点.与上述结果相同.

所以问题是:有没有办法覆盖触摸处理以建立更慢的缓慢或拖动不准确的容忍度,以便应用程序将正确地将上述操作解释为滚动请求?

解决方法

首先,完全读取 this guide(如果需要,两次或三次),以便了解UIkit的触摸机制是如何构建的.它涉及用户认为触摸的内容,事件如何与底层硬件交互,所有对象拦截它的内容,以及如何根据需要调整现有UIkit触摸界面,至少在概念上如此.

引起我注意的一些你不容错过的东西也是this,尤其是timestamp,phase和prevIoUsLocationInView等属性. (我只提到那些不太受欢迎的).

最后,我不知道,但你最终可以根据自己的需要定制creating your own custom gesture recognizer.

更新:

虽然与要求不太相关,但this对于初学者来说是一个良好的开端.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...