当 Webview 在 Collection View 单元格中时,如何检测 UIWebView 何时开始加载?

How to detect when UIWebView starts loading when Webview is inside a Collection View cell?

我正在加载包含 UIWebView 的单元格的集合视图。在我的 UICollectionView 的 activity 指示器停止旋转和 UIWebView 加载之间存在时间间隔。我正在尝试获取加载开始时间(以及最终停止加载时间)的参考,以便添加另一个 activity 指标 UI。我不知道如何在这里做,因为我的 UIWebView 在我的 CollectionViewCell 而不是我的 CollectionView,换句话说我不能使用委托方法并将自己设置为我的代表在我的 collectionView 的 VDL 中?我的 CollectionViewCell 代码:

 import UIKit
import WebKit

class SearchCollectionViewCell: UICollectionViewCell {


    @IBOutlet weak var webView: UIWebView!

    @IBOutlet weak var spinner: UIActivityIndicatorView!

    func webViewDidStartLoad(_ webView: UIWebView) {
        print("we're loading")
    }


}

您需要在您的单元格中实现 UIWebViewDelegate 并将您的单元格设置为 delegate 然后在方法中 webViewDidStartLoad 您将收到通知

import UIKit
import WebKit

class SearchCollectionViewCell: UICollectionViewCell {


    @IBOutlet weak var webView: UIWebView!

    @IBOutlet weak var spinner: UIActivityIndicatorView!

    override func awakeFromNib() {
        super.awakeFromNib()
        self.webView.delegate = self
        // Initialization code
    }

}

extension SearchCollectionViewCell : UIWebViewDelegate
{
    public func webViewDidStartLoad(_ webView: UIWebView) {
        debugPrint("Start Loading")
    }
}

希望对您有所帮助