iOS documention says, that the UIWebView class conforms to UIScrollViewDelegate. But an UIWebView instance does not call the scrollViewDidScroll
method of its controller. The delegate is set just right by
[webView setDelegate:self];
and webViewDidFinishLoad
is called successfully. The controller implements both delegates, UIWebViewDelegate and UIScrollViewDelegate, like this:
@interface WebviewController : UIViewController<UIWebViewDelegate, UIScrollViewDelegate>{
UIWebView *webView;
}
Browsing SO leads to that category solution:
@implementation UIWebView(CustomScroll)
- (void) scrollViewDidScroll:(UIScrollView *)scrollView{
[self.delegate scrollViewDidScroll: scrollView];
}
@end
That category approach does basically the same: Calling the delegate's scrollViewDidScroll method. So why does the the first approach not work?
My guess is you set up delegate only for UIWebView. Try setting delegate of scrollView.
webView.scrollView.delegate = self
it should be ok.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With