禁用错误的电话号码链接检测 UITextView Swift

时间:2020-12-24 12:36:48

标签: ios swift textview

我的 textView 检测到一个数字“123456789”作为电话号码。自动链接检测会在用户点击时更改其颜色并突出显示。

问题是我想为那个数字禁用那个textView的自动链接检测。

我尝试将 phoneNumber 作为检测器类型删除,但在这种情况下,textView 无法识别 textView 中的任何电话号码。

有人知道我该怎么做才能解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您可以禁用整个文本视图的自动检测并添加指向所需数字的链接。并且您应该完全了解它们以轻松找到它们或至少是它们的“好”模式,以使用正则表达式查找匹配项并设置链接

我猜电话号码使用 URL 方案 tel,例如 tel:1-408-555-5555

let phoneRange = textView.text.range(of: "1-408-555-5555")
let phoneURL = URL(string: "tel:1-408-555-5555")!
let linkString = NSMutableAttributedString(string: textView.text)
linkString.addAttribute(.link, value: phoneURL, range: phoneRange)
textView.attributedText = linkString
相关问题