ios - 如何正确禁用 UIWebView 中的链接检测?

标签 ios xcode swift uiwebview

我有一个严格用于查看 PDF 的 UIWebView,并且我不想在 View 中进行任何链接检测,如下所示:

enter image description here

因此,我添加了以下代码来取消链接检测和该 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 添加的,您可以在属性检查器中禁用它。

[Xcode Image 1

关于ios - 如何正确禁用 UIWebView 中的链接检测?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32558380/

相关文章:

ios - 在swift中使用struct创建数组

iphone - 在视网膜显示器上使用实际像素绘图

iOS swift4,点击多个UITextField,键盘显示,上移的UIButton不知道为什么下移

ios - 添加自定义类查看后,UITableViewController 中的 UI 元素会消失吗?

ios - 架构 arm64 的 112 个重复符号

ios - 为什么我的应用程序在我将数据上传到 Firebase 时卡住?

objective-c - 在 Objective-C 中使用 CACornerMask

iphone - NSCache崩溃的应用程序

ios - 无法使用 Xcode 9 存档

ios - 如何等到云套件数据在iOS13中快速与核心数据同步