webview打开网页很容易,只有三个方法:
- (void)loadRequest:(NSURLRequest *)request;
- (void)loadHTMLString:(NSString )string baseURL:(NSURL )baseURL;
- (void)loadData:(NSData )data MIMEType:(NSString )MIMEType textEncodingName:(NSString )textEncodingName baseURL:(NSURL )baseURL;
首先把数据写到nsdata中
NSData *data = [NSData dataWithContentsOfFile:m_strUrl];
然后设置baseUrl
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0] ; //根据自己的具体情况设置,我的html文件在document目录,链接也是在这个目录上开始
NSURL *baseUrl = [NSURL fileURLWithPath:documentsDir];
为什么需要设置baseUrl?
也就是data中有一些链接是图片,css都是外部文件,然后这些文件需要到一个目录上去找。baseUrl就是这个目录。
最后,使用loadData方法对文件进行加载,并且指定类型(mimetype)和编码类型(textEncodingName)
[self.m_myWebView loadData:data MIMEType:@”text/html” textEncodingName:@”GBK” baseURL:baseUrl];