我有一个严格用于查看 PDF 的 UIWebView,并且我不想在 View 中进行任何链接检测,如下所示:
因此,我添加了以下代码来取消链接检测和该 View 的呈现:
override func viewDidLoad() {
super.viewDidLoad()
myWebView.dataDetectorTypes = UIDataDetectorTypes.None
}
但是它仍然会获取链接并呈现该模态视图。如何正确实现代码来阻止这种情况?
这是我更新的代码:
class PdfViewController: UIViewController, UIWebViewDelegate {
@IBOutlet var myWebView: UIWebView!
var contentUrlPassedOn: String!
var allowLoad = true
override func viewDidLoad() {
super.viewDidLoad()
myWebView.delegate = self
let url: NSURL! = NSURL(string: contentUrlPassedOn)
myWebView.loadRequest(NSURLRequest(URL: url))
myWebView.dataDetectorTypes = UIDataDetectorTypes.None
}
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
return allowLoad
}
func webViewDidStartLoad(webView: UIWebView) {
var hasFinishedLoading = false
updateProgress()
}
func webViewDidFinishLoad(webView: UIWebView) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(1.0 * Double(NSEC_PER_SEC))),
dispatch_get_main_queue()) {
[weak self] in
if let _self = self {
_self.hasFinishedLoading = true
self!.allowLoad = false
}
}
}
最佳答案
如果您的 webview 是由 Storyboard 添加的,您可以在属性检查器中禁用它。
[ 1
关于ios - 如何正确禁用 UIWebView 中的链接检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32558380/