TextView敲击在iOS 14上不起作用



我有两个关于CCD_ 1敲击检测的问题,首先,我知道它可以很好地处理网站url,但如果url是mailtourl,它会打开邮件应用程序吗?

第二个也是我最大的问题是,当我使用Xcode 11.7或12 GM在iOS 13.5设备模拟器上运行该项目时,点击url运行良好,但不是mailto(这是意料之中的(,但当我在iOS 14设备和模拟器上运行应用程序时,textView检测到链接,但点击根本不起作用。是iOS 14的大变化还是iOS14的变化?

如果您在iOS 14中的UITextField上调用gestureRecognizers,它将返回17(!(个实体,其中包括一些负责与检测到的链接交互的实体:

  • UITextInteractionNameLinkTap
  • UITextInteractionNameSingleTap
  • UITextInteractionName双击
  • UITextInteractionNameTapAndAHalf

它们具有交叉依赖性,特别是";单抽头";有人预计双击会失败。

事实上,点击链接对我来说不起作用,而双击就会打开它

因此,解决方法是删除双击手势,这样它就不会阻止所有其他动作:

if let doubleTap = textView.gestureRecognizers?
.first(where: { ($0 as? UITapGestureRecognizer)?.numberOfTapsRequired == 2 }) {
textView.removeGestureRecognizer(doubleTap)
}

最新更新