在UIWebview中打开链接而不是UIShared应用程序

时间:2011-06-30 20:06:59

标签: iphone uiwebview hyperlink

我一直在尝试打开用户在简单的Web视图中点击而不是多任务处理并进入Safari的链接。每次点击一个链接时,我的用户必须离开应用程序是一件非常痛苦的事情,我知道这可能很简单,但仍然很难让这一切发生。这是我正在使用的代码,但仍然在点击链接时打开safari。

如果有人能帮我指出正确的方向,我将非常感激!谢谢!

     - (void) handleURL:(NSURL*)url
    {  
    [web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"%@"]]];
    }


    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest 
*)request  
    navigationType:(UIWebViewNavigationType)navigationType {
    NSLog(@"expected:%d, got:%d", UIWebViewNavigationTypeLinkClicked, navigationType);
    if (navigationType == UIWebViewNavigationTypeLinkClicked) {
    [UIApplication sharedApplication] ;
    return NO;
    }
    if (navigationType == UIWebViewNavigationTypeLinkClicked) {    
   [web loadRequest:[NSURLRequest requestWithURL:[NSURL 
    URLWithString:replyTweetText.text]]];    
    return YES;
    }

    }

1 个答案:

答案 0 :(得分:0)

我不确定这一点是做什么的:

if (navigationType == UIWebViewNavigationTypeLinkClicked) {
    [UIApplication sharedApplication] ;
    return NO;
    }

[UIApplication sharedApplication];创建并返回单例应用程序实例。你没有做任何事情。

此外,两个if语句都是相同的,因此只有第一个语句会被命中,方法返回NO。没有默认返回值,这对于非void函数是不好的。试试这个:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    return YES;
}