0

ローカル リソース バンドルに 3 つの 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]]];
    }
}

合計カウントを 3、現在のインデックス カウント、およびファイル パスとして取得しています。それでも、最初の html ファイルしか表示されません。他の 2 つのファイルがありませんでした。ここで何が問題になる可能性がありますか?親切に私を助けてください。ありがとうございます。

4

2 に答える 2

0

ローカル ファイルの URL については、 のfileURLWithPath:メソッドを使用する必要がありNSURLます。また、メソッドを使用してバンドルからファイルの URL を取得することもできます[[NSBundle mainBundle] URLForResource: withExtension:]。さらに、ループで URL をロードするのは良い考えではないと思います。ボタン アクションで URL をロードするなどの方法を試してみてください。幸運を!

于 2013-04-18T05:46:07.987 に答える
0

ファイルがロードされるまで待つ必要があります。ループは神の考えではありません。代わりに、以下のコードを使用して同じことを達成できます。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]];
    }

}
于 2013-04-18T06:23:02.383 に答える