如何加载HTML文件?

时间:2011-12-03 17:37:40

标签: objective-c ios xcode

如何将HTML文件加载到我的应用程序(xcode)中?我正在使用以下代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]]; 
}

当我启动应用时,我只看到一个白页。怎么了?

.h文件:

#import <UIKit/UIKit.h>

@interface poules : UIViewController {
    IBOutlet  UIWebView *webView;
}
@property (nonatomic,retain) UIWebView *webView;
@end

3 个答案:

答案 0 :(得分:3)

以下是我的一个项目的工作示例。我的index.html文件位于资源目​​录中名为Documentation/html的文件夹中。重要的是要注意这些是“文件夹引用”,而不是组(因此是蓝色图标):

enter image description here

然后将其加载到webView

NSString *resourceDir = [[NSBundle mainBundle] resourcePath];
NSArray *pathComponents = [NSArray arrayWithObjects:resourceDir, @"Documentation", @"html", @"index.html", nil];
NSURL *indexUrl = [NSURL fileURLWithPathComponents:pathComponents];
NSURLRequest *req = [NSURLRequest requestWithURL:indexUrl];
[webView loadRequest:req];

答案 1 :(得分:0)

尝试loadHTMLString:baseURL:method

    NSString *html=[NSString stringWithContentsOfFile:your_html_path encoding:NSUTF8StringEncoding error:nil];

   [webview loadHTMLString:html baseURL:baseURL];

答案 2 :(得分:0)

首先,您可以检查您的webView是否已连接。

如果是,那么您可以分解代码以检查您尝试加载的请求有什么问题。

1 ..为此文件路径创建一个NSString,并检查路径是否返回。

NSString *urlString = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];

2 ..从上面的字符串中创建一个NSURL,并检查网址是否正确或为零。

NSURL *url = [NSURL URLFromString:urlString];

3 ..然后创建请求。

NSURLRequest *request = [NSURLRequest requestFromURL:url];