【问题标题】:Disable iOS "Perspective Compensation" programmatically?以编程方式禁用iOS“透视补偿”?
【发布时间】:2014-01-03 11:57:19
【问题描述】:

也许我只是在搜索错误的术语,但我能找到的关于这个主题的信息非常少,我认为这可能是我的应用程序的问题。

前阵子有一篇文章讲的是iOS设备上触摸屏的精准度,和其他手机相比,感觉还是差了一大截。这是一个关于它的帖子的链接: http://forums.macrumors.com/showthread.php?t=1660713

无论如何,许多评论者将“透视补偿”称为不准确的原因。基本上,他们说 iOS 故意在实际接触点上方记录触摸,以补偿用户的典型视角或手指的角度或类似的东西。通过按照其中一位评论者的建议并尝试颠倒使用我的 iPhone,我发现自己的这种说法有一定的可信度。我确实发现在某些情况下很难触摸东西,并且我在我正在开发的一个应用程序中也注意到了这个问题。

所以,如果您想跳过上面的所有杂谈,这就是为什么这对我来说是个问题:

我正在开发一个供两个人同时使用的应用程序。 iPhone 或 iPad 被放置在两个面对面坐着的人之间的表面上,他们被要求快速准确地触摸屏幕上各自半边的项目。这篇文章的 cmets 让我怀疑可能会发生,而我在实践中也发现,颠倒使用手机的人第一次尝试触摸按钮和圆点时会遇到困难。我还用手写笔慢慢测试,发现按钮的可触摸区域确实延伸到按钮下方,或者在使用手机的人的按钮上方颠倒,因此对于那个人来说存在差异和问题/劣势。

最后,如果您也想跳过它,这是我的问题:能否以编程方式禁用“透视补偿”(如果这就是所谓的),并且可以针对应用程序的特定视图完成吗?你们有没有人注意到这一点并在自己的应用中处理了它?

虽然我发现“透视补偿”似乎正在发生,但我没有找到任何官方文档,因此不知道如何或是否可以禁用它。当我搜索“透视补偿”时,我找到的唯一结果是指向同一篇文章和 cmets 的链接。

我不禁想到,这可能以前曾被问过,或者可以通过一个简单的复选框来解决,但也许由于缺少正确的术语,我一直无法找到任何线索。

提前感谢您的任何解决方案或建议!

【问题讨论】:

    标签: ios iphone objective-c cocoa-touch ios7


    【解决方案1】:

    当前的 SDK 无法做到这一点。我们所能访问的只是触摸位置,它位于一个点上。您可能会尝试的其他搜索词是“数字化仪”或“原始触摸数据”,但绝对没有复选框或简单选项。

    要实现这一点,您必须自己补偿触摸位置。您需要为上下颠倒的按钮设置一个补偿偏移值。对视图进行命中测试可能是执行此操作的最佳位置,然后您的按钮可以正常响应事件。

    【讨论】:

      猜你喜欢
      • 2014-09-21
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      • 2013-10-09
      • 2011-08-11
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多