簡體   English   中英

如何將閉包添加到loadRequest?

[英]How do I add closure to loadRequest?

我的目標是在webView仍從服務器獲取數據時執行活動指示器

但我似乎找不到辦法。 我能想到的唯一方法是關閉,但該怎么做呢?

如果我不添加任何活動指示器,則它將只是空白屏幕,然后經過一段時間后將顯示網頁。 這不是良好的用戶體驗。

這是代碼

import UIKit

class SignupWebViewController: UIViewController {

    @IBOutlet var signupWebView: UIWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let url = URL(string: "http://www.example.com/merchants/signup")

        // How Do i do a closure here?
        signupWebView.loadRequest(URLRequest(url: url!))

    }
}

您必須實現UIWebViewDelegate方法。 在加載請求之前,請執行以下操作:

signupWebView.delegate = self;

並且不要忘記將其添加到您的ViewController

class SignupWebViewController: UIViewController, UIWebViewDelegate {

然后將您的邏輯添加到此方法:

optional public func webViewDidStartLoad(_ webView: UIWebView) {
    // show your activity indicator
}

optional public func webViewDidFinishLoad(_ webView: UIWebView) {
    // hide your activity indicator
}

順便說一下,現在不推薦使用UIWebView 請改用WKWebView

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM