在我从UIViewController派生的类中,我有一个类型为UIWebView *的类变量,名为helpView。我对viewDidLoad使用以下代码。
- (void)viewDidLoad {
[super viewDidLoad];
NSURL *helpFileURL=[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/tutorial.html",
[[NSBundle mainBundle] resourcePath]]];
NSURLRequest *request = [NSURLRequest requestWithURL:helpFileURL];
[helpView loadRequest:request];
}
并且工作正常,我可以在我的模拟器和设备上看到“tutorial.html”。
现在我的问题是,我想使用一个名为tutorial.css的CSS文件和我的tutorial.html。 以同样的方式,tutorial.html在app bundle中,tutorial.css也在app bundle中。
我应该如何修改上面的代码才能使用? 我自己尝试了一些东西,但都失败了。我没有在网上找到任何明确的答案。 显然,如果我使用通常的:
<link href="css/tutorial.css" rel="stylesheet" type="text/css" />
在我的tutorial.html文件中还不够。
感谢您提供任何信息。
答案 0 :(得分:2)
省略css目录,你的捆绑包不能那样工作。
<link href="tutorial.css" rel="stylesheet" type="text/css" />
然后更改您的代码以使用一个很好的基本URL加载html:
- (void)viewDidLoad {
[super viewDidLoad];
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"tutorial" ofType:@"html"];
NSString *htmlString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
[webView loadHTMLString:htmlString baseURL:baseURL];
}