1

我有 NSString 如下

NSString *textOutStations = [NSString stringWithFormat:@"Hello Everyone. Please check out website:<br> http://www.google.com/</br>"];

我想在 URL 中显示 google.com,如下所示,因为我将在 UIWebView 中加载它。

www.google.com

因此,每当用户单击它时,它必须在 iPhone 中打开 Safari。

4

4 回答 4

1

试试这个

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]]];

这将帮助你......

于 2013-10-10T14:25:29.703 回答
1
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];

....
}
于 2013-10-10T14:26:32.630 回答
1

您不能在字符串中指定 URL 并使其可点击,这种类型的功能取决于使用它的对象,也就是UITextView UITextField UILabel UIWebView等等,

AUIWebview将在 webview 中显示您的 url,它不会在 safari 中打开链接。如果你想在 ui web view 中加载它,上面已经提到了,如果你想在 safari 中打开它,你必须这样做

[[UIAplication sharedApplication] openUrl:urlObject];

如果您想将其打开为带有 a 的文本,我会在此处UITextView建议此其他堆栈溢出链接

于 2013-10-10T14:31:59.297 回答
0

在此处输入图像描述

我检查了 UIWebView 属性检查器中的链接选项,它检测到了链接。

在 SAFARI 中打开的方法...

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
    if ( inType == UIWebViewNavigationTypeLinkClicked ) {
        [[UIApplication sharedApplication] openURL:[inRequest URL]];
        return NO;
    }

    return YES;
}
于 2013-10-10T14:33:20.303 回答