无法在Swift 3中创建可点击链接

时间:2017-03-29 17:53:45

标签: ios swift uitextview

我希望在iOS Swift 3中有一个可点击的uitextview超链接。我的代码:

private func setUpTextViews() {
  let attributedString = NSMutableAttributedString(string: "http://www.vitensenteret.no")
  attributedString.addAttribute(NSLinkAttributeName, value: "http//:www.vitensenteret.no", range: NSRange(location: 0, length: 19))

  hyperLink.attributedText = attributedString
  hyperLink.dataDetectorTypes = UIDataDetectorTypes.all
  phoneNumber.dataDetectorTypes = UIDataDetectorTypes.all
}

func textView(_ textView: UITextView, shouldInteractWith URL: URL, in     characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
  UIApplication.shared.open(URL, options: [:])
  return false
}

2 个答案:

答案 0 :(得分:1)

是因为你的链接字符串中有拼写错误吗?

"http//:www.vitensenteret.no"

请注意:

的位置

答案 1 :(得分:0)

确保您已在故事板中启用了以下所有项目,以便在UITextView上定义以充当链接:

enter image description here

  1. 取消选中可编辑,
  2. 检查故事板的链接,
  3. 请确保您为UITextView提供委托以获取以下委托方法的回调:

    func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool
    {
    return true; 
    }  
    
  4. 同时从上面的网址中删除“:”,即http://www.vitensenteret.no

    希望这适用于上述问题。