我有 NSString 如下
NSString *textOutStations = [NSString stringWithFormat:@"Hello Everyone. Please check out website:<br> http://www.google.com/</br>"];
我想在 URL 中显示 google.com,如下所示,因为我将在 UIWebView 中加载它。
因此,每当用户单击它时,它必须在 iPhone 中打开 Safari。
我有 NSString 如下
NSString *textOutStations = [NSString stringWithFormat:@"Hello Everyone. Please check out website:<br> http://www.google.com/</br>"];
我想在 URL 中显示 google.com,如下所示,因为我将在 UIWebView 中加载它。
因此,每当用户单击它时,它必须在 iPhone 中打开 Safari。
试试这个
NSString *textOutStations = @"<html><head><title></title></head><body><div> Hello Everyone. Please check out website:<br/> <a href=\"http://www.google.com/\"> http://www.google.com/ </a> </div></body></html>";
[self.webView loadHTMLString:textOutStations baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];
这将帮助你......
NSString *textOutStations = [NSString stringWithFormat:@"Hello Everyone. Please check out website:<br> <a href=\"google.com\">http://www.google.com/</a>"];
[self.webView loadHTMLString:textOutStations baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];
然后在 UIWebView 委托中:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
// Opening safari
[[UIApplication sharedApplication] openURL:request.URL];
....
}
您不能在字符串中指定 URL 并使其可点击,这种类型的功能取决于使用它的对象,也就是UITextView
UITextField
UILabel
UIWebView
等等,
AUIWebview
将在 webview 中显示您的 url,它不会在 safari 中打开链接。如果你想在 ui web view 中加载它,上面已经提到了,如果你想在 safari 中打开它,你必须这样做
[[UIAplication sharedApplication] openUrl:urlObject];
如果您想将其打开为带有 a 的文本,我会在此处UITextView
建议此其他堆栈溢出链接
我检查了 UIWebView 属性检查器中的链接选项,它检测到了链接。
在 SAFARI 中打开的方法...
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
if ( inType == UIWebViewNavigationTypeLinkClicked ) {
[[UIApplication sharedApplication] openURL:[inRequest URL]];
return NO;
}
return YES;
}