【发布时间】:2011-05-12 01:48:57
【问题描述】:
我设法显示一个网页视图,其中包含从字符串派生的内容,字符串中有一个链接 www.google.com,网页视图应该使链接可浏览。但在我的情况下,链接只是被视为普通文本,有人知道如何使这个链接可以浏览吗?就像点击它会打开 safari n 显示网页一样。提前谢谢。
【问题讨论】:
标签: iphone objective-c xcode uiwebview
我设法显示一个网页视图,其中包含从字符串派生的内容,字符串中有一个链接 www.google.com,网页视图应该使链接可浏览。但在我的情况下,链接只是被视为普通文本,有人知道如何使这个链接可以浏览吗?就像点击它会打开 safari n 显示网页一样。提前谢谢。
【问题讨论】:
标签: iphone objective-c xcode uiwebview
我认为这对你有帮助。
enter code here
NSString *path = [[NSBundle mainBundle] bundlePath]; NSURL *baseURL = [NSURL fileURLWithPath:path];
NSMutableString *pageStr = [[@"" mutableCopy] autorelease];
[pageStr appendString:@"<head>"];
[pageStr appendString:@"<title>MigraineMate Paint Graph</title>"];
[pageStr appendString:@"</head>"];
[pageStr appendString:@"<body>"];
[pageStr appendString:@"<img src=unknown.png alt=\"Justin Bieber\" style=\"float:left; text-align:left; margin:0px 15px \" width=100 border=1 /> "];
[pageStr appendString:@"<a href=\"http://www.w3schools.com/\">Visit W3Schools</a> <p>Please Wait Graph may take a moment to load Please Wait Graph may take a moment to load Please Wait Graph may take a moment to loadPlease Wait Graph may take a moment to loadPlease Wait Graph may take a moment to loadPlease Wait Graph may take a moment to load</p>"];
[pageStr appendString:@"</body>"];
[pageStr appendString:@"</html>"];
[imgWebView setBackgroundColor:[UIColor clearColor]];
[imgWebView setOpaque:NO];
[imgWebView loadHTMLString:pageStr baseURL:baseURL];
【讨论】:
如果您想在 UIWebView 中添加超链接,您需要使用正确的 HTML 语法。
<a href="www.google.com">www.google.com</a>
除非我误解了你的问题,在这种情况下,我希望能得到澄清。
响应 OP 在对此答案的评论中的澄清:
您可以在将字符串显示在UIWebView 中之前解析出链接并生成 HTML,或者使用 JavaScript 来做同样的事情。
或者,您可以使用UITextView,它会自动启用超链接:只需将UIDataDetectorTypeLink 分配给它的dataDetectorTypes 属性。
【讨论】: