我有两个关于CCD_ 1敲击检测的问题,首先,我知道它可以很好地处理网站url,但如果url是mailto
url,它会打开邮件应用程序吗?
第二个也是我最大的问题是,当我使用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)
}