Try starting and stoping activity indicator in UIWebViewDelegate methods
#pragma mark - UIWebViewDelegate -
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType
{
[activity startAnimating];
if ([[[inRequest URL] absoluteString] hasPrefix:@"ios:"])
{
// Call the given selector
[self performSelector:@selector(webToNativeCall)];
return NO;
}
return YES;
}
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
[activity stopAnimating];
}
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
[activity stopAnimating];
}