在 WebView 加载时显示另一个故事板,然后切换回原始故事板

Posted

技术标签:

【中文标题】在 WebView 加载时显示另一个故事板,然后切换回原始故事板【英文标题】:Show another storyboard while WebView is loading then switch back to original storyboard 【发布时间】:2020-03-29 13:37:28 【问题描述】:

我正在 Xcode 中制作一个应用程序,主故事板只是一个 WebView 元素,当它加载它时它只是显示一个白屏但是当它加载时我希望它切换到另一个故事板(这将是一个加载屏幕) 然后当它完成加载 WebView 元素时,我希望它切换回 Main.Storyboard。谢谢!

【问题讨论】:

你在使用 WKWebView 吗? 是的!我将代码添加到问题中! 导入 UIKit 导入 WebKit 类 ViewController: UIViewController @IBOutlet weak var WebView: WKWebView! override func viewDidLoad() super.viewDidLoad() let url = URL(string: "192.168.0.23:5000/")//Defines WebView 的 URL let request = URLRequest(url: url!) WebView.load(request) override var prefersStatusBarHidden: Bool 返回真 【参考方案1】:

您可以在 UIWebView 中使用 Activity Indicator 来添加 loader,

@IBOutlet var loader: UIActivityIndicatorView!

func webViewDidStartLoad(_ : UIWebView) 
loader.startAnimating()


func webViewDidFinishLoad(_ : UIWebView) 
    loader.stopAnimating()

不要忘记将委托设置为 Web 视图的 UIViewController。

【讨论】:

【参考方案2】:
import UIKit
import WebKit

class ViewController: UIViewController 

    @IBOutlet weak var WebView: WKWebView!

    override func viewDidLoad() 
        super.viewDidLoad()

        let url = URL(string: "http://192.168.0.23:5000/")//Defines the URL for the WebView
        let request = URLRequest(url: url!)

        WebView.load(request)

    

    override var prefersStatusBarHidden: Bool
        
        return true
    

【讨论】:

以上是关于在 WebView 加载时显示另一个故事板,然后切换回原始故事板的主要内容,如果未能解决你的问题,请参考以下文章

android中webview 怎么实现网页加载时显示加载进度

悬停时显示另一个 div

我希望一个数组在循环时显示另一个数组的值

用户登录 Facebook SDK 时显示另一个视图

单击按钮时显示另一个 ui 文件

获取 ios 故事板 webView 应用程序以在安全区域呈现