UIWebView 怎么才能载入包内文件或URL地址?

在 Cocoa 里,我通过 UI 工具,创建了一个 UIWebView
现在我想在 UIWebView 中载入一段内容,并且需求如下
1. 在 WebView 中载入包内 html 文件,
2. 或网络上的 url,
3. 某些情况下,我还想将一段字符串,直接写入 webView

刘毅
编辑于2011-09-07
评论 (0)链接2011-09-07 

大体说来,给 UIWebView 添加内容的方式分两种,
一种是从一个文件加载,类似在浏览器上输入URL或本地文件路径
一种是将一段 HTML 原代码,直接赋给 UIWebView

这些代码都是放在 IpadWebViewViewController.m 中:
1. 从URL上加载内容到 UIWebView

  
#import "IpadWebViewViewController.h"
@implementation IpadWebViewViewController
@synthesize MyWebview;
// 程序主流程
- (void)viewDidLoad {
// 初始化
[[UIApplication sharedApplication] statusBarOrientation];
[super viewDidLoad];
// 从 URL 中载入一个 html 页面
NSURL *url = [NSURL URLWithString:@"http://www.google.com"];
[self.MyWebview loadRequest:[NSURLRequest requestWithURL:url]];
}

2. 从APP 包内读取加载一个 HTML 文件

  
#import "IpadWebViewViewController.h"
@implementation IpadWebViewViewController
@synthesize MyWebView;
// 程序主流程
- (void)viewDidLoad {
// 初始化
[[UIApplication sharedApplication] statusBarOrientation];
[super viewDidLoad];
// 从 APP 包内 载入一个 html 页面
NSString *htmlPath = [[[NSBundle mainBundle] bundlePath]
stringByAppendingPathComponent:@"webapp/index.html"];
// NSString *htmlPath = [[[NSBundle mainBundle] resourcePath]
stringByAppendingPathComponent:@"webapp/index.html"];
[self.MyWebview loadRequest:[NSURLRequest requestWithURL:[NSURL
fileURLWithPath:htmlPath]]];
}

3.直接在 UIWebView 中写入一段 HTML 代码。
htmlPath 似乎是一个必须的参数,而 htmlString 是可以可以直接写成

  
NSString *htmlString = @”<html ….”;

不是必须从一个文件来获取 HTML 串的。

  
#import "IpadWebViewViewController.h" 
@implementation IpadWebViewViewController
@synthesize MyWebview;
// 程序主流程
- (void)viewDidLoad {
// 初始化
[[UIApplication sharedApplication] statusBarOrientation];
[super viewDidLoad];
// 读入一个 HTML
NSString *htmlPath = [[[NSBundle mainBundle] bundlePath]
stringByAppendingPathComponent:@"webapp/loader.html"];
NSString *htmlString = [NSString stringWithContentsOfFile: htmlPath
encoding:NSUTF8StringEncoding error:NULL];
[self.MyWebview loadHTMLString:htmlString baseURL:[NSURL
fileURLWithPath:htmlPath]];
}
许磊
编辑于 2011-09-07
该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 (0)链接 • 2011-09-07
德问是一个专业的编程问答社区,请 登录注册 后再提交答案