我的一个视图控制器底部有一个Web视图,其中包含链接。 我想要做的是,当用户点击Web视图中的一个链接时,它会打开一个Web视图,该视图占用屏幕,其中包含用户点击的页面内容。或者,当用户点击Web视图中的一个链接时,用户将被带到safari以显示链接的内容。 有人知道怎么做吗? 欢呼声。
以上是网页视图的屏幕截图,其中包含用户可以点击的链接..
答案 0 :(得分:2)
您可以使用UIWebView的委托- webView:shouldStartLoadWithRequest:navigationType:
。在加载每个URL之前,它将调用以下委托 -
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
您将能够从请求中获取请求URL并推送新的视图控制器。
答案 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;
}