禁用UIWebView中的超链接

时间:2009-11-23 13:16:43

标签: iphone uiwebview

我希望在加载初始页面后禁用UIWebVIew中的超链接,而不禁用滚动功能。也就是说,我应该启用用户交互。

1 个答案:

答案 0 :(得分:9)

您可以像这样使用webView shouldStartLoadWithRequest

    (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
    {

            NSURL *loadURL = [[request URL]retain];
            //change next line to whatever condition you need, e.g.
            //[[loadURL relativeString]  ....] contains a certain substring 
            //or starts with certain letter or ...
            if([[loadURL scheme] isEqualToString: @"file"])
            {
               [loadURL release]; 
            return TRUE;
            }
            [loadURL release];
            return FALSE;
    }

您还必须将webViews委托设置为实现此方法的类的对象:[webView setDelegate:my...];

通过上面的实现,除了条件为真的那些之外,没有加载url。至少对于第一个网站的网址,它必须是真实的。上面的代码适用于最初加载文件内容的Web视图,仅包含指向“http://”或“https://”或...的链接。