2015-04-01 85 views
0

我在我的一個包含鏈接的視圖控制器的底部有一個網頁視圖。 我想要做的是,當用戶點擊網頁視圖中的一個鏈接時,它會打開一個網頁視圖,用戶可以點擊頁面內容來顯示屏幕。或者,當用戶點擊網頁視圖中的一個鏈接時,用戶將被帶到Safari瀏覽器以顯示該鏈接的內容。 任何人都知道如何做到這一點? 乾杯。如何從另一個UIWebView中打開UIWebView?

enter image description here

以上是用戶可以點擊的鏈接Web視圖的屏幕截圖..

回答

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; 
} 
+0

感謝!!!!!!!!! – Tanuj 2015-04-01 19:32:51

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