在iOS中,如何区分触觉和长按?

时间:2018-09-28 12:40:36

标签: ios iphone 3dtouch

Apple最近发布的iPhone XR宣布将3D Touch替换为Haptic Touch,让您只需长按视图即可访问3D Touch功能。

我很好奇,它将如何与现有的UILongPressGestureRecognizer界面进行交互。我的应用程序中有些项目当前具有不同的3D Touch和长按功能。

由于iPhone XR硬件尚不可用,我想知道是否发布了有关这两个功能如何协同工作的信息。

2 个答案:

答案 0 :(得分:1)

基于使用Hardware | Touch Pressure | Use Trackpad Force选项在模拟器中进行的测试,Haptic Touch只需长按一下即可。

答案 1 :(得分:0)

“在2015年,当iPhone 6S和6S Plus发布时,苹果公司还推出了3DTouch。3DTouch使用带有触觉反馈的Taptic Engine,它使设备能够感测触摸的压力,从而触发特定的动作。例如,用力按压图标将使我们能够快速打开操作菜单。” -Clayton,C.(2018年1月)。 Learn iOS 11 Programming with Swift 4 - Second Edition

“ 3D Touch基本上是一项技术,可以为您在每个iOS设备中找到的敲击机制增加另一个维度(因此得名)。传统上,用户可以用手指在iOS设备的屏幕上执行以下操作:< / p>

  • 点击;
  • 长按;
  • 滑动;
  • 双击。

借助设备上的3D触摸功能,可在公式中添加一个新的向量,该向量可记录屏幕上触摸的强度,从而使用户可以将手指保持在屏幕上并施加更大的压力,直到动作发生(指定的应用程序)。 3D Touch仅允许iOS设备访问用户在屏幕上按下手指的力度,这为全新的应用程序打开了大门。”-Nahavandipoor,V.(2017)。{{3} }。

“ 3D Touch之所以起作用,是因为iPhone的屏幕对压力敏感。您可以在显示屏上按,而按得越厉害,就越“碰碰碰”。像iPhone XR一样,触觉触摸屏也没有这种压力敏感度。相反,Haptic Touch似乎只是我们的老朋友长按的一个新名字。 (...) 似乎Haptic Touch可以完成3D Touch已经完成的大部分工作。在iOS 12中,添加了新的触控板模式,该模式适用于所有iPhone和iPad。触控板模式可让您按下以将iPhone键盘变成触控板,从而使您可以控制上方文本中的光标。在新模式下,您可以通过长按键盘上的空格键来执行相同的操作。我几乎可以肯定,此功能将在iPhone XR中产生触觉触摸振动。”-Sorrel,C。(2018年9月)。iOS 11 Swift Programming Cookbook

“重要的是要记住,并非所有设备都具有Taptic Engine;在没有设备的情况下,根本不会播放反馈。这意味着您不必依赖触觉反馈(...)应该用来强调视觉或听觉上已经存在的效果。” -Buttfield-Addison,P.,Manning,J.(2018年10月)。 What’s the difference between 3-D Touch and Haptic Touch?

“考虑到他们从设备中删除了3D Touch,以降低制造成本,并为我们提供新的“液体视网膜”显示器,我们认为Haptic Touch不会带来任何实际的压力敏感性。” -Peterson,J.(2018年9月)。 iOS Swift Game Development Cookbook, 3rd Edition

在此阶段,尚不清楚苹果和3D Touch上的第三方应用程序支持多少功能,并且/或者将在Haptic Touch中支持。

因此,3D触摸现在发生的情况似乎与2015年All the 3D Touch Actions You'll Lose by Switching to the iPhone XR with 'Haptic Touch'发生的情况相似。触觉触摸的含义更具体地描述了可能采取的措施(因为3D触摸的含义更广泛)。正如Buttfield-Addison,P.,Manning,J.所提到的那样,我不会依赖这种类型的反馈。由于您已经在自己的应用程序中安装了它,并基于触觉的含义(与触觉有关,特别是与使用触觉和本体感觉进行物体的感知和操纵有关),我认为长按会保持原样,因为它是正常/主流人的动作集合中可能的触摸互动之一。

建议您阅读Force touch