0

在从 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 文件中还不够。

感谢您提供任何信息。

4

1 回答 1

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];
}
于 2012-09-03T08:10:13.787 回答