0

Web ビューを表示しようとしているモーダル ビュー コントローラーがあります。初めて表示されるときは、空白として表示されます。ただし、閉じてもう一度クリックすると、正常に表示されます。webViewの読み込みに問題があるのではないかと思いますが、webViewの読み込みが終了したときだけ表示しようとしましたが、呼び出されません。

NSURL* newURL = [[NSURL alloc] initFileURLWithPath: fileString];
NSURLRequest *newURLRequest = [[NSURLRequest alloc] initWithURL: newURL];
[webViewController.webView loadRequest: newURLRequest];
[newURL release];
[newURLRequest release];
webViewController.modalPresentationStyle=UIModalPresentationPageSheet;
[self presentModalViewController:webViewController animated:YES];
4

1 に答える 1

4

最初の present 呼び出しによってコントロールが読み込まれ、初期化されるまで、webView コントロールに初めてアクセスすることはできません。最初の存在の前は、webViewController.webView は nil になるため、loadRequest を呼び出しても何も起こりません。

presentModalViewController 呼び出しの後に loadRequest 呼び出しを移動できます。

ただし、View Controller のビューでコントロールに直接アクセスする代わりに、WebViewController で URL 文字列を NSString プロパティ (urlString と呼ばれる) として宣言し、presentModalViewController 呼び出しの前に fileString に設定する方がよいでしょう (NSURL を作成しないでください)。などがあります):

webViewController.urlString = fileString;
[self presentModalViewController:webViewController animated:YES];

最後に、WebViewControllerviewWillAppear:またはviewDidAppear:で、(urlString を使用して) NSURL を作成し、NSURLRequest を作成して、loadRequest を呼び出します。

于 2010-12-17T18:35:51.467 に答える