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?