Проблема с UIWebView - PullRequest
       8

Проблема с UIWebView

0 голосов
/ 03 сентября 2010

Я пытаюсь запустить внешнее сафари, когда нажимаю на гиперссылку в UIWebView, но в моем случае ничего не происходит. Если я попытаюсь включить target как пустое и пропустить метод делегата UIWebView, он запустит сафари в том же представлении. Пожалуйста, расскажите мне, друзья, как открыть внешний браузер при нажатии на ссылку в UIWebView. Вот мой код. I я создаю UIWebView программно

CGRect webFrame = CGRectMake(10,78,300,50);  
         contactUsView.delegate = self;
         contactUsView = [[UIWebView alloc] initWithFrame:webFrame];  
         [contactUsView setOpaque:NO];
         contactUsView.backgroundColor = [UIColor clearColor];  
        NSString *html = @"<html><head></head><body>Copyright \u00A9 2010 <a href='http://www.example.com'>Hello</a><br/>Hi  <a href='http://example1.com>Click here</a></body></html>";  
         [contactUsView loadHTMLString:html baseURL:[NSURL URLWithString:@"http://www.solstice-consulting.com"]]; 



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

    NSURL *requestURL = [ [ request URL ] retain ];  
    NSLog(@"expected:%d, got:%d", UIWebViewNavigationTypeLinkClicked, navigationType);

    if ( ( [ [ requestURL scheme ] isEqualToString: @"http" ]  
          || [ [ requestURL scheme ] isEqualToString: @"https" ] )  
        && (navigationType == UIWebViewNavigationTypeLinkClicked ) ) {  
        return ![ [ UIApplication sharedApplication ] openURL: [ requestURL autorelease ] ];  
    }  

    [ requestURL release ];  

    return YES;  
}  

Выходные данные журнала ожидаются как 0 и получаются как 5.. Я не понимаю, что делать ..

Ответы [ 2 ]

1 голос
/ 06 января 2011

Измените
(navigationType == UIWebViewNavigationTypeLinkClicked)
на
(navigationType == UIWebViewNavigationTypeLinkClicked || navigationType == UIWebViewNavigationTypeOther)

1 голос
/ 06 января 2011
NSURL *requestURL = [request URL]; 
NSString* urlString = [requestURL absoluteString];
if ([urlString isEqualToString: @"http://www.example.com"])
{

   // Try this, it will work fine

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...