如何将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
答案 0 :(得分:3)
以下是我的一个项目的工作示例。我的index.html
文件位于资源目录中名为Documentation/html
的文件夹中。重要的是要注意这些是“文件夹引用”,而不是组(因此是蓝色图标):
然后将其加载到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];