解決方案是將郵件鏈接的默認點擊操作更改爲您想要的方式。
做一個UITextView
例如:
假設我們有UITextView
TextView的,其attributeString
是
<a href="mailto:[email protected]\>mailto_test</a>
及其documentType
是HTML。代碼如下:
let textView = UITextView(frame: view.bounds)
textView.frame.origin.y += 100
let attrStr = try! NSAttributedString(
data: "<a href=\"mailto:[email protected]\">mailto_test</a>".data(using: .utf8, allowLossyConversion: true)!,
options:[.documentType: NSAttributedString.DocumentType.html],
documentAttributes: nil)
textView.attributedText = attrStr
view.addSubview(textView)
這是壓在屏幕的機郵件應用程序功能喚醒了mailto_test
文本後的默認效果。所以我們添加一個delegate
到textView
來修改點擊動作。
textView.isEditable = false
textView.dataDetectorTypes = .link
textView.delegate = self
這裏是委託功能來控制特定的點擊動作:
func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
print(URL)
return false
}
當你按下郵件鏈接,功能調用,而不調用機郵件應用程序。而URL只是郵件的URL。
UIWebView中已被棄用。你應該使用WKWebView。 – matt
@matt我想知道它是如何改變任何事情的,它是如何與我的問題相關的 – user1248568
你發現答案是什麼嗎?現在我真的很好奇 –