2015-04-01 4 views
0

У меня есть веб-представление внизу одного из моих контроллеров представления, содержащего ссылки. Что я хочу сделать, так это то, что когда пользователь нажимает на одну из ссылок в веб-представлении, открывается веб-представление, которое занимает экран с содержимым страницы, на которую пользователь нажал. Или, может быть, когда пользователь нажимает на одну из ссылок в веб-представлении, пользователь переходит к сафари для отображения содержимого ссылки. Кто-нибудь знает, как это сделать? Cheers.Как открыть UIWebView из другого UIWebView?

enter image description here

Выше снимок экрана веб-просмотра с ссылками, которые пользователь может щелкнуть по ..

ответ

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

2

Вы можете использовать делегат - webView:shouldStartLoadWithRequest:navigationType: из UIWebView. Перед загрузкой каждого 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:

Смежные вопросы