如何从另一个UIWebView打开UIWebView?

时间:2015-04-01 17:45:03

标签: html ios xcode uiwebview

我的一个视图控制器底部有一个Web视图,其中包含链接。 我想要做的是,当用户点击Web视图中的一个链接时,它会打开一个Web视图,该视图占用屏幕,其中包含用户点击的页面内容。或者,当用户点击Web视图中的一个链接时,用户将被带到safari以显示链接的内容。 有人知道怎么做吗? 欢呼声。

enter image description here

以上是网页视图的屏幕截图,其中包含用户可以点击的链接..

2 个答案:

答案 0 :(得分:2)

您可以使用UIWebView的委托- webView:shouldStartLoadWithRequest:navigationType:。在加载每个URL之前,它将调用以下委托 -

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

您将能够从请求中获取请求URL并推送新的视图控制器。

更多详情:https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIWebViewDelegate_Protocol/index.html#//apple_ref/occ/intfm/UIWebViewDelegate/webView:shouldStartLoadWithRequest:navigationType

答案 1 :(得分:1)

试试这个:

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
{
    NSURL *requestURL =[ request URL ];
    if ( ( [ [ requestURL scheme ] isEqualToString: @"http" ] || [ [ requestURL scheme ] isEqualToString: @"https" ] || [ [ requestURL scheme ] isEqualToString: @"mailto" ])
        && ( navigationType == UIWebViewNavigationTypeLinkClicked ) )
    {
        return ![ [ UIApplication sharedApplication ] openURL: requestURL] ;
    }
    return YES;
}