【问题标题】:Swift : How to open specific link in safari instead UIWebViewSwift:如何在 Safari 中打开特定链接而不是 UIWebView
【发布时间】:2017-02-17 22:54:18
【问题描述】:

我是 Swift 编程语言的新手。 这是我的问题。我创建了一个 UIWebView。现在我想在 Safari 浏览器中打开一些链接,而不是在 WebView 中。 我在互联网上搜索了不同的解决方案,例如:

func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
    if navigationType == UIWebViewNavigationType.linkClicked {
        UIApplication.shared.openURL(request.url!)
        return false
    }
    return true

我不知道如何在我的代码中实现这一点。 这是我的代码:

override func viewDidLoad() {
    //webview.delegate = self;
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    let webURL = URL(string: "http://www.collegiodeirettori.net/palio/")
    if(webURL != URL(string: "http://www.collegiodeirettori.net/palio/*")){
        let urlRequest = URLRequest(url: webURL!)
        webview.loadRequest(urlRequest)
        webview.scrollView.bounces = false
    } else{
        //let urlRequest = URLRequest(url: webURL!)
        UIApplication.shared.openURL(webURL!)
        //webview.loadRequest(urlRequest)
        //webview.scrollView.bounces = false
    }

【问题讨论】:

    标签: ios swift webview uiwebview


    【解决方案1】:

    当 webview 开始加载时,操作系统会自动调用shouldStartLoadWithRequest 函数。您只需要在您的视图控制器中实现相同的代码。

    【讨论】:

    • 所以我只需要把函数webView放到ViewDidLoad中?好吧,我之前在这里问过一个问题,但它不起作用,因为当我点击一个链接时,它会在 webview 中打开。
    【解决方案2】:

    试试这个人 -

    let pathURL = "http://www.collegiodeirettori.net/palio/"
    UIApplication.sharedApplication().openURL(NSURL(string: pathURL.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())!)!)
    

    【讨论】:

    • 我不想打开“主” URL,而只想打开一些链接,例如 Facebook 和 Twitter 的链接或其他网页。我该如何控制此链接?
    猜你喜欢
    • 1970-01-01
    • 2010-11-21
    • 2016-04-16
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多