2011-06-30 68 views
0

我一直在尝试打开用户在简单Web视图中单击而不是多任务并前往Safari浏览器的链接。对于我的用户来说,每次点击链接时都必须离开应用程序,这非常痛苦,我知道这很可能非常简单,但仍然有可怕的时间来实现这一点。这里是我正在使用的代码,但仍然在链接被点击时打开Safari。在UIWebview中打开链接而不是UIShared应用程序

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

 - (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; 
    } 

    } 

回答

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; 
} 
相关问题