【发布时间】:2015-03-21 23:27:47
【问题描述】:
我正在尝试打开我的UITextView 在应用程序中识别的链接。我正在使用UITextView delegate 方法shouldInteractWithURL 来实现这一点。
我的代码似乎在应用内加载 url 时运行良好;但是,除了在应用程序中之外,它仍在 Safari 中打开链接。有没有办法解决这个问题?
func textView(textView: UITextView, shouldInteractWithURL URL: NSURL, inRange characterRange: NSRange) -> Bool {
println("called")
let webViewController = WebViewController()
webViewController.urlToLoad = URL
if let navigationController = navigationController {
println("navigating")
navigationController.pushViewController(webViewController, animated: true)
return true
}
else {
return false
}
}
请注意,WebViewController 只是我创建的一个自定义类,它将UIWebView 显示为整个屏幕。它有一个属性urlToLoad,这是它将加载到UIWebView 中的url。
我还将UITextView 的delegate 分配给已经实现此委托功能的UIViewController。
有谁知道如何让应用停止打开 safari?
【问题讨论】:
标签: ios swift uitextview nsurl uitextviewdelegate