2013-03-21 1 views
0

При запуске приложения он сначала загружается, а затем загружает веб-страницу в сафари. Как я могу сделать загрузку страницы в UIWebView и иметь внешние ссылки в webView в сафари?Открывайте ссылки WebView в Safari

Вот некоторые из Кодекса webviewcontroller.m -

#import "WebViewController.h" 


@implementation WebViewController 

@synthesize webView; 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { 
    // Initialization code 
} 
return self; 
} 

/* 
If you need to do additional setup after loading the view, override viewDidLoad. */ 
- (void)viewDidLoad { 

NSString *urlAddress = @"url link goes here"; 

//Create a URL object. 
NSURL *url = [NSURL URLWithString:urlAddress]; 
[[UIApplication sharedApplication] openURL:url]; 

//URL Requst Object 
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

//Load the request in the UIWebView. 
[webView loadRequest:requestObj]; 
} 

@end

ответ

0

Причина первая страница загружается в Safari вместо вашего UIWebView в вашем приложении эта строка кода :

[[UIApplication sharedApplication] openURL:url]; 

Удалить эту линию из viewDidLoad.

Для того, чтобы сделать ссылки внутри вашей webView нагрузки в приложение Safari, первый установить контроллер представления в качестве делегата для WebView с webView.delegate = self; внутри метода viewDidLoad.

Затем добавьте следующий код в viewController:

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

    if (navigationType == UIWebViewNavigationTypeLinkClicked) 
    { 
     [[UIApplication sharedApplication] openURL:request.URL]; 
     return NO; 
    } 
    return YES; 
} 

Этот метод будет вызываться каждый раз, когда webView вот-вот начать загрузку запроса. Что он делает, это проверить, был ли запрос инициирован щелчком пользователя. В случае, если это так, он открывает Safari и загружает запрос. Любые другие запросы, которые не были инициированы кликом, загружаются в ваше приложение, например запрос на стартовую страницу.

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

  • Нет связанных вопросов^_^