UiWebView 上的 Meme 类型错误

Posted

技术标签:

【中文标题】UiWebView 上的 Meme 类型错误【英文标题】:Meme Type Error on UiWebView 【发布时间】:2016-11-28 13:27:57 【问题描述】:

我有一个 ios 应用程序,它有一个 uiwebview,它可以在其中打开一个网站,但是在 webview 中单击的任何链接都会在 Safari 中打开。在我下面的代码中,它在“webView.load(request)”行上出现了 memetype 错误。你能给我一些代码以便我解决这个问题吗?谢谢! (我需要使用 UIWebView 而不是 WKWebView)

class VideosViewController : UIViewController, UIWebViewDelegate 

@IBOutlet weak var webView : UIWebView!

override func viewDidLoad() 
    super.viewDidLoad()

    guard let url = URL(string: "http://example.com") else  return 

    let request = URLRequest(url: url)
    webView.load(request)



func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool 

    if navigationType == .linkClicked 

        guard let url = request.url else  return true 
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
        return false
    
    return true



【问题讨论】:

哪里出错了? 对不起,忘了说(lol)就行了“webView.load(request)” 【参考方案1】:

尝试致电webView.loadRequest(request)。这个函数只有一个URLRequest参数。

【讨论】:

它消除了错误,但单击的链接在 web 视图中打开,而不是在 Safari 应用程序中打开。你能帮我解决这个问题,还是你在代码中看到任何错误?? 如果你想打开链接是Safari,你不需要UIWebView。只需在需要的函数中调用UIApplication.shared.open(url, options: [:], completionHandler: nil) 我希望在 uiwebview 中加载一个网站,但我希望在 Safari 应用程序中打开在 webview 内单击的任何链接。 我明白了。检查webView:shouldStartLoadWithRequest:navigationType:。每次点击UIWebView中的链接时它都会调用 对不起。我是编码新手,还在学习。我不知道那是什么意思。 :)

以上是关于UiWebView 上的 Meme 类型错误的主要内容,如果未能解决你的问题,请参考以下文章

_UIFallbackPresentationViewController

在 iphone 上模拟触摸

UIWebView 和 URLRequest 拦截

UiWebView 全屏显示

使用 UIWebView+AFNetworking 时链接如下

无法转换类型“Meme!”的值到预期的参数类型'@noescape (Meme) throws -> Bool'