我想为iOS应用程序制作一组帮助页面,并且拥有超文本目录似乎是合乎逻辑的。
这是可能的,如果是这样,我如何在OBj-C中包装页面链接?
谢谢..
我正在添加一些我遇到的代码。我正在使用Apple的TransWeb示例作为基础..
- (void)viewDidLoad
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"page1" ofType:@"html"];
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path];
NSString *htmlString = [[NSString alloc] initWithData:
[readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding];
[self.webView loadHTMLString:htmlString baseURL:nil];
这就是我在html文件中设置链接的方式..
<html>
<p>
Located in the Sierra Nevada foothills of <a href = "file://page2.html">California</a>
in the Sierra Nevada ...........
</p>
感谢Caleb给我正确答案..
我已按如下方式更改了我的webView loadRequest:
[super viewDidLoad];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"page1" ofType:@"html"]isDirectory:NO]]];
并更改了html文件:
<a href = "page2.html">California</a>
答案 0 :(得分:1)
当然 - 只需使用UIWebView即可显示您的HTML页面。使用相对URL链接页面。
更新:我在您发布的代码中看到的一个问题是您的网址不正确。你有一个这样的文件网址:file://page2.html
。这是不正确的 - 如果你想要一个相对于主机根的网址,你可以使用:file:///page2.html
。该URL省略了主机,这意味着应该使用与当前页面相同的主机。如果要使URL相对于主机和当前页面的目录,请不要使用整个方案:page2.html
。所以你的锚标签看起来像:
<a href = "page2.html">California</a>
另一件需要考虑的事情是你可能不需要打扰NSFileHandle。只需将根页面的数据直接加载到字符串中:
NSString *htmlString = [NSString stringWithContentsOfFile:path encoding: NSUTF8StringEncoding error:nil];