如何检测UITextView中的链接是否已被点击,Swift

我已经实现了我认为来自UITextViewDelegate的函数,它处理在UITextView中被点击的URL,但是现在在我的代码中调用了这些函数。

这是我从委托中使用的function。

func textView(textView: UITextView!, shouldInteractWithURL URL: NSURL!, inRange characterRange: NSRange) -> Bool { println("Link Selected!") } 

但是我使用了断点,甚至在运行时都没有访问代码? 这是正确的function还是有替代方案?

您需要确保将实现委托协议的类设置为UITextView的委托。

 self.textView.delegate = self 

你的课可能看起来像:

 class MyClass: UITextViewDelegate { @IBoutet weak var aTextView: UITextView! override func viewDidLoad() { super.viewDidLoad() aTextView.delegate = self } // Delegate func textView(textView: UITextView, shouldInteractWithURL URL: NSURL, inRange characterRange: NSRange) -> Bool { // User click on a link in a textview print("Link Selected!") // True => User can click on the URL Ling (otherwise return false) return true } 

}