OGeek|极客世界-中国程序员成长平台

标题: IOS - 如何以编程方式阻止从另一个应用程序打开一个应用程序? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 15:58
标题: IOS - 如何以编程方式阻止从另一个应用程序打开一个应用程序?

我正在尝试在我的应用程序的 UIWebView 本身中观看 youtube 视频。每当我点击任何网页 youtube 链接时,它都会自动重定向到 youtube 应用程序,但 youtube 的应用程序也安装在我的设备中。如何以编程方式阻止从另一个应用打开一个应用。



Best Answer-推荐答案


如果您使用的是 UIWebview

在您的 View Controller 中添加以下委托(delegate)方法。并分配 webview.delegate = self

extension YourVC:UIWebViewDelegate{
    func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
        if navigationType == UIWebViewNavigationType.linkClicked {
            return false
        }
        return true
    }
}

如果您使用的是 WKWebview

在您的 View Controller 中添加以下委托(delegate)方法。并分配 webView.navigationDelegate = self

extension YourVC:WKNavigationDelegate{
    func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
        if navigationAction.navigationType == .linkActivated {
            decisionHandler(.cancel);
            return;
        }
        decisionHandler(.allow);
    }
}

关于IOS - 如何以编程方式阻止从另一个应用程序打开一个应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51675814/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4