ios Web视图 - 单击后,如何在Web浏览器中打开页面而不是嵌入在应用程序中

时间:2013-02-20 12:05:38

标签: ios uiwebview

我有一个UIWebView屏幕,其中有一个链接,我想去另一个网页。

现在我有这个:

if ([request.URL.scheme isEqualToString:@"something"])
{
    NSURL *url = [NSURL URLWithString:@"stackoverflow.com];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [theWebView loadRequest:request];
}

但它只是打开应用程序内部的链接。但是如何让它加载Web浏览器并在Web浏览器中打开URL?

同样,如果我想链接到应用程序商店中的其他应用程序,那么这样做的正确方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

首先,您必须在Controller的头文件中实现UIWebViewDelegate,然后实现shouldStartLoadWithRequest以捕获NSURLrequest并在系统浏览器中启动它:

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

    NSString *url = request.URL.absoluteString;
    NSLog(@"%@",url);

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
    return NO;
}

编辑(代码):

if ([request.URL.scheme isEqualToString:@"something"])
{
    NSURL *url = [NSURL URLWithString:@"stackoverflow.com];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
}