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

6

我已经实现了我认为是UITextViewDelegate的函数,用于处理UITextView中的URL被点击,但是我的代码中现在调用的是其他函数。

这是我从代理中使用的函数。

func textView(textView: UITextView!, shouldInteractWithURL URL: NSURL!, inRange characterRange: NSRange) -> Bool {

println("Link Selected!")

}

然而,我已经使用了断点,但代码在���行时甚至未被访问?这是正确的函数吗,还是有其他的替代方案?

2个回答

6

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

self.textView.delegate = self

哦天啊,我怎么会忘记这个,感觉自己像个白痴。谢谢。 - Stephen Fox

1
你的类可能长这个样子:
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
       }            

}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接