我遇到了WebView的问题。我正在将Html字符串加载到Web视图中。作为基本URL我需要使用我的网站URL(因为html中有一些相关链接,我无法修改它)。 问题是我还需要使用存储在Application包中的一些图像和css。 所以我使用此代码创建对本地资源的引用(结果字符串在html文件中用作src):
NSString *cssUrl = [NSString stringWithString:@"file:"];
cssUrl = [cssUrl stringByAppendingString:[[NSBundle mainBundle] resourcePath]];
cssUrl = [cssUrl stringByAppendingString:@"/story.css"];
然后我还补充说:
cssUrl = [cssUrl stringByReplacingOccurrencesOfString:@"/" withString:@"//"];
cssUrl = [cssUrl stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
知道如何解决问题以及如何创建可在Web视图中使用的文件的引用? 感谢
弗朗西斯
答案 0 :(得分:0)
首先,导入目录,例如一个名为web
的文件,位于所有文件所在的项目中。当Xcode问你时,请确保选择“为任何文件夹创建组引用”。
现在,您可以在将web
放入index.html
内的文件后加载这样的初始字符串,例如NSString* path = [[NSBundle mainBundle] pathForResource:
@"index" ofType:@"html" inDirectory:@"web"];
if (path)
[self.webView loadRequest:
[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]];
:
<img>
现在,您字符串中的所有相关源网址都会按预期工作,包括<a>
,{{1}}等。
答案 1 :(得分:0)
这个怎么样?
NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"story" ofType:@"css"];
NSURL *url = [NSURL fileURLWithPath:resourcePath];
NSString *theMagicalURLString = [url absoluteString];
答案 2 :(得分:0)
似乎我试图做的事情是不可能的。要使用捆绑资源,您必须将Web视图的基本URL设置为资源路径。 感谢大家的帮助
弗朗西斯