2017-08-14 22 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 –

相关问题