2017-08-14 26 views
1

我正在加載包含UIWebView s的單元的集合視圖。當我的UICollectionView的活動指標停止旋轉和加載UIWebView之間有一段時間差距。我正在嘗試獲取加載何時開始(以及最終何時停止)的引用,以便添加另一個活動指示符UI。我不知道如何在這裏做,因爲我的UIWebView是在我的CollectionViewCell而不是我的CollectionView,換句話說我不能使用委託方法並將我自己設置爲我的代理在我的collectionView的VDL中?我CollectionViewCell代碼:如何檢測UIWebView何時在Webview位於集合視圖單元內時開始加載?

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") 
    } 


} 

回答

1

你需要實現你的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") 
    } 
} 

希望這有助於

+1

謝謝!在'awakeFromNib'中設置委託是我無法想象的......並且很好的使用擴展! – GarySabo

+0

歡迎您,我很高興爲您提供幫助,愉快的編碼和最誠摯的問候! @GarySabo –

相關問題