在iPhone sdk中显示一个HTML文件的Webview

在iPhone sdk中显示一个HTML文件的Webview,iphone,html,ios,uiwebview,Iphone,Html,Ios,Uiwebview,我的本地资源包中有三个HTML文件。我需要把它显示为一个阅读器。所以我使用一个web视图来显示它,使用下面的代码 - (void)viewDidLoad { [super viewDidLoad]; totalArray=[[NSMutableArray alloc]init]; [totalArray addObject:@"file1"]; [totalArray addObject:@"file2"]; [totalArray addObject:@"file

我的本地资源包中有三个HTML文件。我需要把它显示为一个阅读器。所以我使用一个web视图来显示它,使用下面的代码

- (void)viewDidLoad
{
     [super viewDidLoad];
     totalArray=[[NSMutableArray alloc]init];
     [totalArray addObject:@"file1"];
[totalArray addObject:@"file2"];
[totalArray addObject:@"file3"];
    NSLog(@"totalArray count:%d",[totalArray count]);

    for (int i=0;i<3;i++)
{
    NSLog(@"i count:%d",i);

   NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
       NSURL *bundleBaseURL = [NSURL fileURLWithPath: bundlePath];
       NSLog(@"webview %@", bundlePath);
   NSString *filePath1= [[NSBundle mainBundle] pathForResource:[totalArray objectAtIndex:i] ofType:@"html"];
       NSLog(@"filePath1:%@",filePath1);
       [htmlView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:filePath1]]];
    }
}
-(void)viewDidLoad
{
[超级视图下载];
totalArray=[[NSMutableArray alloc]init];
[totalArray addObject:@“file1”];
[totalArray addObject:@“file2”];
[totalArray addObject:@“file3”];
NSLog(@“totalArray计数:%d”,[totalArray计数];

对于(int i=0;i对于本地文件url,您必须使用
fileURLWithPath:
方法
NSURL
。此外,您还可以使用
[[NSBundle mainBundle]URLForResource:withExtension:]从捆绑包中获取文件url
方法。此外,我认为在循环中加载url不是一个好主意,您应该尝试其他方法,如在按钮操作上加载url。祝您好运!

您需要等待文件加载,循环不是上帝的主意,相反,您可以使用下面的代码实现同样的效果。使用fileURLWithPath加载本地文件

- (void)viewDidLoad
{
    [super viewDidLoad];
    count = 0;
    totalArray=[[NSMutableArray alloc]init];
    [totalArray addObject:@"file1"];
    [totalArray addObject:@"file2"];
    [totalArray addObject:@"file3"];      
    [_htmlView setDelegate:self];
    NSString *filePath1= [[NSBundle mainBundle] pathForResource:[totalArray objectAtIndex:count] ofType:@"html"];
    NSURL *url = [NSURL fileURLWithPath:filePath1];
    [_htmlView loadRequest:[NSURLRequest requestWithURL:url]];

}

- (void)webViewDidFinishLoad:(UIWebView *)webView{
    count++;
    if (count < 3) {

        NSString *filePath1= [[NSBundle mainBundle] pathForResource:[totalArray objectAtIndex:count]
                                                             ofType:@"html"];
        NSLog(@"filePath1:%@",filePath1);
        NSURL *url = [NSURL fileURLWithPath:filePath1];
        [_htmlView loadRequest:[NSURLRequest requestWithURL:url]];
    }

}
-(void)viewDidLoad
{
[超级视图下载];
计数=0;
totalArray=[[NSMutableArray alloc]init];
[totalArray addObject:@“file1”];
[totalArray addObject:@“file2”];
[totalArray addObject:@“file3”];
[[u htmlView setDelegate:self];
NSString*filePath1=[[NSBundle mainBundle]pathForResource:[totalArray objectAtIndex:count]类型:@“html”];
NSURL*url=[NSURL fileURLWithPath:filePath1];
[\u htmlView loadRequest:[NSURLRequest requestWithURL:url]];
}
-(无效)webViewDidFinishLoad:(UIWebView*)webView{
计数++;
如果(计数<3){
NSString*filePath1=[[NSBundle mainBundle]pathForResource:[totalArray objectAtIndex:count]
类型:@“html”];
NSLog(@“文件路径1:%@”,文件路径1);
NSURL*url=[NSURL fileURLWithPath:filePath1];
[\u htmlView loadRequest:[NSURLRequest requestWithURL:url]];
}
}

我在web视图中只获得了第三个文件。在前两个html文件闪烁之后,我希望显示我的第一个html文件。在滚动html 2、html3之后,如下所示。检查此链接是否解决了您的问题