how to open the url in safari not in webview
ios, objective-c, xcode
Solution
After reading the comments I think this is what you're looking for:
Implement this method:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
from `UIWebViewDelegate` and depending on that request argument you should return `TRUE` or `FALSE`. If you don't want the web view to open it, you should call:
[[UIApplication sharedApplication] openURL:request.URL];
as others mentioned and return `FALSE`.
Hope this helps. Cheers!
EDIT: If the links are not recognized in your web view, try this:
[webView setDataDetectorTypes:UIDataDetectorTypeLink]
Problem
I want to open an url in safari, outisde the app and not in webview. I implemented the UIWebViewDelegate but I am still not able to open the url. Basically I am not able to click the url. Below is the code: ``` -(void)newView:(NSString *)title Description:(NSString *)desc URL:(NSString *)url{ webView =[[UIWebView alloc]initWithFrame:CGRectMake(15, 17, 190, 190)]; webView.backgroundColor=[UIColor clearColor]; webView.delegate=self; webView.opaque = NO; [webView loadHTMLString:[NSString stringWithFormat:@"<html><body p style='color:white' text=\"#FFFFFF\" face=\"Bookman Old Style, Book Antiqua, Garamond\" size=\"5\">%@ %@</body></html>", desc,url] baseURL:nil]; v = [[HUDView alloc] initWithFrame:CGRectMake(60, 70, 220, 220)]; cancelButton = [UIButton buttonWithType:UIButtonTypeCustom]; cancelButton.frame = CGRectMake(0, 0, 30, 30); [cancelButton setBackgroundImage:[UIImage imageNamed:@"closebox.png"] forState:UIControlStateNormal]; [cancelButton addTarget:self action:@selector(cancelButtonPressed) forControlEvents:UIControlEventTouchUpInside]; [v addSubview:cancelButton]; [v addSubview:webView]; [self.view addSubview:v]; } -(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType { if ( inType == UIWebViewNavigationTypeLinkClicked ) { [[UIApplication sharedApplication] openURL:[inRequest URL]]; return NO; } return YES; } ```