stringWithContentsOfFile有效,但requestWithURL没有

时间:2010-09-29 05:51:36

标签: iphone cocoa-touch uiwebview

出于某种原因,第一种方法不显示任何内容,而第二种方法则显示:

//Common
NSString *path=[[NSBundle mainBundle] pathForResource:@"about" ofType:@"html"];
//Method1
[webView loadRequest:[NSURLRequest requestWithURL: [NSURL fileURLWithPath: path isDirectory: NO]]];
//Method 2
NSString *HTML=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];
[webView loadHTMLString:HTML baseURL:[NSURL URLWithString:[[NSBundle mainBundle] bundlePath]]];
//Common        
UIViewController* controller=[webView controllerWithTitle:@"Help"];
[delegateRef.navController pushViewController:controller animated:YES];

另一方面,我也尝试使用URL加载它。同样地,第一种方法没有显示任何东西,而第二种方法没有。

//Common
NSURL *url=[[NSBundle mainBundle] URLForResource:@"about" withExtension:@"html"];
//Method 1
[webView loadRequest:[NSURLRequest requestWithURL:url]];
//Method 2
NSString *HTML=[NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:NULL];
[webView loadHTMLString:HTML baseURL:[NSURL URLWithString:[[NSBundle mainBundle] bundlePath]]];

奇怪的是,如果我按如下方式更改URL,则两种方法都有效(当然加载字符串不会显示css):

NSURL *url=[NSURL URLWithString:@"http://www.google.com"];

controllerWithTitle在类别中定义如下:

-(UIViewController*) controllerWithTitle:(NSString*)title{
    UIViewController *vc=[[[UIViewController alloc] init] autorelease];
    vc.view=self;
    vc.title=title;
    return vc;
}

1 个答案:

答案 0 :(得分:0)

事实证明,CSS导致整个页面无法显示!