1

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

现在我有这个:

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

但它只是在应用程序本身中打开链接。但是如何让它加载网络浏览器并在网络浏览器中打开网址?

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

谢谢!

4

1 回答 1

2

首先你必须在你的控制器的头文件中实现 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]];
}
于 2013-02-20T12:08:48.457 回答