如何在NSString中创建html链接?

时间:2013-10-10 14:18:04

标签: ios uiwebview nsstring

我的NSString如下

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

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

www.google.com

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

4 个答案:

答案 0 :(得分: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]]];

这会帮助你......

答案 1 :(得分: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];

....
}

答案 2 :(得分:1)

您不能在字符串中指定URL并使其可被点击,这种类型的功能取决于使用它的对象,即UITextView UITextField {{1} } UILabel等,

UIWebView会在网页浏览中显示您的网址,但不会在Safari中打开该链接。如果你想在ui网页视图中加载它,它已经在上面已经过了,如果你想在safari中打开它,你必须这样做

UIWebview

如果您想在[[UIAplication sharedApplication] openUrl:urlObject]; 中将其打开为文本,我会建议其他堆栈溢出链接here

答案 3 :(得分:0)

enter image description here

我检查了UIWebView的Attribute Inspector中的链接选项,它检测到了链接。

在SAFARI中开放的方法......

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

    return YES;
}