Let me walk you through to why this is impossible.
- (BOOL)webView:(UIWebView *)webview shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
Even if it sounds ludicrous there will be calls to this delegate method when the user has clicked a link with a navigation type of UIWebViewNavigationTypeOther instead of UIWebViewNavigationTypeLinkClicked. This happens with some javascript based pages that are commonly found on the internet.
Even if it sounds completely insane there will be calls to this delegate method with UIWebViewNavigationTypeLinkClicked multiple times when in fact the user hasn't clicked a link. Some websites do embed the content of an frame/iframe using a simulated click on a hidden button, which causes multiple calls with UIWebViewNavigationTypeLinkClicked.
This strange way in embedding content with a simulated click is done
to bypass the privacy settings of certain browsers. Google was sued
for this some time ago and had to pay several millions penalty,
because they used this trick to set cookies in the Safari browser
even if the user has configured the browser to not accept these
cookies.
So, if you solely rely on UIWebView's delegate method you 'll get clicks when there are none and none when there are clicks. Thus, in a uncontrolled environment this is impossible.
But, what exactly are you trying to do?