【发布时间】:2015-09-14 06:21:34
【问题描述】:
我有一个 UIWebView 严格用于查看 PDF,我不希望在视图中进行任何链接检测,像这样:
所以我添加了以下代码来否定链接的检测和该视图的呈现:
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
}
}
}
【问题讨论】:
-
这不起作用@KiritModi
-
您在 WebView Delegate 中添加以下代码
-
检查我更新的问题,添加我当前的代码@KiritModi
-
告诉我你的 pdf 的 URL 是什么
-
为什么,我有数百个 @KiritModi 而不仅仅是一个