上下文:用Obj-C编写的iOS App。
我正在尝试加载附加了本地图像的本地HTML文件。
HTML文件存储在名为pages的目录中。图像存储在称为图像的目录中。这是项目中的文件夹结构:
/
- /图像
- /页
其他文件
“我的项目”和“图像”目录都列在我的项目中,并在我的项目的构建阶段中的复制包资源下。当我在那里右击它们时,我可以在Finder中显示它们并查看所有单独的.html和.jpg文件。
我的代码存在一些问题,主要是,即使加载html页面,图像 - 通过img标签链接 - 也不是。
我试过了
这是加载没有图像的HTML页面的代码(我几乎可以肯定这个特定的代码过去曾经用过):
// Linkpath is the path to the HTML file
NSData *htmlData = [NSData dataWithContentsOfFile:linkPath];
if (htmlData) {
[webWiki loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:linkPath]]];
}
这是一个示例HTML页面: http://pastebin.com/b1KTZS6A
以下是我已经尝试过的一些解决方案:
One:
NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
NSString* newStr = [[NSString alloc] initWithData:htmlData encoding:NSUTF8StringEncoding];
[webWiki loadHTMLString:newStr baseURL:baseURL];
答案 0 :(得分:0)
我猜您的问题与XCode中的文件夹类型有关。以下是有关文件夹类型https://developer.apple.com/library/ios/recipes/xcode_help-structure_navigator/articles/Adding_an_Existing_File_or_Folder.html
的文档说明所以问题是在Xcode中有两种类型的文件夹:组和文件夹引用。这些组是黄色的,文件夹引用是蓝色的。对于本地HTML,您必须使用“文件夹引用”将其结构保留在实际的文件系统上。因此,您的图片链接不会被破坏。
我希望这会有所帮助。