【问题标题】:UIWebView get user touch on tapping linkUIWebView 让用户触摸点击链接
【发布时间】:2016-03-17 09:26:53
【问题描述】:

当用户单击UIWebView 上的任何链接时,我想执行一些操作。我这样做是为了完成这项工作:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"request - %@", request.URL.absoluteString);
    [webView.window makeKeyAndVisible];
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
    if(isFirstTimeLoaded)
    {
        [self shoToolbar];
        [self updateButtons];
    }


    return YES;
}  

- (void)webViewDidFinishLoad:(UIWebView *)webView
{   
    isFirstTimeLoaded = YES;
}

这通常可以正常工作。但是当UIWebView 的第一次加载涉及加载页面时的多次重定向时,它不会。我想要的是仅在用户有意单击链接时触发此条件。不在UIWebView的url重定向上。

【问题讨论】:

    标签: ios uiwebview uiwebviewdelegate


    【解决方案1】:

    你必须检查navigationType

        - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
        {
    
            if (navigationType==UIWebViewNavigationTypeLinkClicked) {
                // It was a link
            } else {
               // It wasn't a link
            }
    
    
            return YES;
        } 
    

    【讨论】:

    • 愚蠢的我忘记了navigationType。谢谢!!
    猜你喜欢
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 2014-08-31
    • 2013-07-31
    • 1970-01-01
    相关资源
    最近更新 更多