2017-02-24 3 views
1

Ich versuchte, Rückruf in scrollViewDidScroll: Methode zu bekommen, wenn ich HTML-Zeichenfolge in webView laden, aber der Inhalt scrollt und scrollViewDidScroll wird nicht aufgerufen. Wenn ich das URLRequest Objekt in WebView überlasse, funktioniert es gut.scrollViewDidScroll nicht aufgerufen in UIWebView

Eine Sache, was ich aufgefallen ist, dass, wenn ich die dann Scrollinhaltsgröße ist als Scroll-Ansicht Größe der gleichen HTML-String zu laden versucht, und wenn ich versuche, URL zu laden, gibt es Scroll Inhalt Größe von mehr als Scroll Größe und in diesem Fall scrollViewDidScroll: Anruf bekommen.

Ich habe so viele Dinge ausprobiert. Zuerst setze ich die Rolle View Delegate webView.scrollView.delegate = self und implementieren scrollViewDidScroll: Methode, aber es funktioniert nicht, dann habe ich eine Kind-Klasse von WebView, die Scroll View Delegate entsprechen. I außer Kraft setzen scrollViewDidScroll: als

protocol MyWebViewDelegate: class { 
    func myWebViewDidScroll(_ scrollView: UIScrollView) 
} 

class MyWebView: UIWebView { 
    public weak var scrollViewDelegate: MyWebViewDelegate? 
    override func scrollViewDidScroll(_ scrollView: UIScrollView) { 
     super.scrollViewDidScroll(scrollView) 
     scrollViewDelegate?.myWebViewDidScroll(scrollView) 
    } 
} 

Jetzt habe ich MyWebViewDelegate Protokoll entsprechen und implementieren Methode myWebViewDidScroll:. Nachdem ich die ganze Arbeit gemacht hatte, bekam ich einen Rückruf in myWebViewDidScroll:, aber wenn die Scroll-Ansicht prallte.

Antwort

1

konfigurieren Sie Delegat nur für UIWebView.set den Delegaten von scrollView.

webView.scrollView.delegate = self 
+0

Vielen Dank. Aber ich habe alle Delegierten gesetzt und 'scrollViewDidScroll' wird aufgerufen, wenn webView zurückgeworfen wird. Und wie ich bereits beschrieben habe, wenn ich 'URLRequest' Objekt lade, funktioniert es mit dem gleichen Code. Ich habe nur Probleme mit dem Laden von HTML-String. –

+0

@ChanchalChauhan - kann diesen Code anzeigen –

Verwandte Themen