我在一个应用程序中有一个Web视图,从服务器加载包含文本和图像的html代码段。我将它包装在一个小的html中并将其放入这样的Web视图中:
NSString *cssPath = [[NSBundle mainBundle] pathForResource:@"style" ofType:@"css"];
NSString *cssLink = [NSString stringWithFormat:@"<link href='file://%@/' type='text/css' rel='stylesheet'/>", cssPath];
NSString *html = [[NSString stringWithFormat:@"<html><head><title></title><meta charset='UTF-8' />%@</head><body>%@</body></html>", cssLink, htmlContent] retain];
[myWebView loadHTMLString:html baseURL:currentURL];
有没有办法修复上面的代码,以便链接到本地样式表?
如果我将基本网址更改为本地应用程序资源文件,我可以毫无问题地加载样式表,但这会破坏从服务器加载的html中的图像链接。
我还可以将样式表的内容直接包含在html中,但是出于多种原因不愿意这样做。
感谢。
答案 0 :(得分:2)
什么是currentURL
?它应该是[[NSBundle mainBundle] bundleURL]
,例如
[webview loadHTMLString:html baseURL:[[NSBundle mainBundle] bundleURL]];
我相信cssPath可以只是文件名,而不是绝对路径。