在 UITextView 中长按 link 时崩溃
Crash on long pressing link inside UITextView
我在长按然后单击 UITextView 中的 link 时遇到奇怪的崩溃。下面是我在 link.
上处理触摸事件的代码
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange) -> Bool {
let termsAndConditions : TRTermsAndConditionsViewController = TRTermsAndConditionsViewController(nibName: "TRTermsAndConditionsViewController", bundle: nil)
let navigationtermsAndConditions = TRBaseNavigationViewController(rootViewController: termsAndConditions)
self.present(navigationtermsAndConditions, animated: true, completion: nil)
return false
}
我遇到以下错误:
*** Assertion failure in -[TRADFRI.TRTextViewNonEditable startInteractionWithLinkAtPoint:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.29.5/UITextView_LinkInteraction.m:377
我在谷歌上搜索了很多,也浏览了这些 link link1 link2,但没有取得任何成功。我已经尝试过 "Sukhrob" 和 "ryanphillipthomas" 在 link1 上给出的解决方案以及 "nate.m" 和 "chrismorris" 在 link2 上给出的解决方案。更奇怪的是,我在支持 3D 触摸的设备上遇到此崩溃,例如 iPhone 6S、iPhone 6S Plus(iOS 9 或更高版本)。谁能帮我解决这个问题。
最后我得到了一些帮助解决了这个问题link
所以我从 NSAttributedString
中删除了 link 属性并仅使用下划线属性。通过使用点击手势,我正在检测用户正在点击的字符索引,如果该索引位于我的 hyperlink 范围内,我将打开 URL.
我在长按然后单击 UITextView 中的 link 时遇到奇怪的崩溃。下面是我在 link.
上处理触摸事件的代码 func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange) -> Bool {
let termsAndConditions : TRTermsAndConditionsViewController = TRTermsAndConditionsViewController(nibName: "TRTermsAndConditionsViewController", bundle: nil)
let navigationtermsAndConditions = TRBaseNavigationViewController(rootViewController: termsAndConditions)
self.present(navigationtermsAndConditions, animated: true, completion: nil)
return false
}
我遇到以下错误:
*** Assertion failure in -[TRADFRI.TRTextViewNonEditable startInteractionWithLinkAtPoint:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.29.5/UITextView_LinkInteraction.m:377
我在谷歌上搜索了很多,也浏览了这些 link link1 link2,但没有取得任何成功。我已经尝试过 "Sukhrob" 和 "ryanphillipthomas" 在 link1 上给出的解决方案以及 "nate.m" 和 "chrismorris" 在 link2 上给出的解决方案。更奇怪的是,我在支持 3D 触摸的设备上遇到此崩溃,例如 iPhone 6S、iPhone 6S Plus(iOS 9 或更高版本)。谁能帮我解决这个问题。
最后我得到了一些帮助解决了这个问题link
所以我从 NSAttributedString
中删除了 link 属性并仅使用下划线属性。通过使用点击手势,我正在检测用户正在点击的字符索引,如果该索引位于我的 hyperlink 范围内,我将打开 URL.