2010-12-17 2 views
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

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

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

しかし、ビューコントローラのビューのコントロールに直接アクセスするのではなく、WebViewControllerでURL​​文字列をNSStringプロパティ(say urlString)として宣言し、presentModalViewControllerコールの前にfileStringに設定する方が良いでしょう、()を使用してurlString NSURLを作成し、viewWillAppear:またはviewDidAppear:で、WebViewControllerで最後に

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

を、NSURLRequestを作成し、loadRequestを呼び出す:NSURL、などがある)を作成します。

+0

ありがとうございました。これは完全に機能しました。私はそれがまだ初期化されていないという事実についても考えなかった。 – russ36363

+0

ありがとう!これは実際に私のフォームを閉じて再オープンするまでブラウザのコントロールが空白だったのと同様の問題で私を助けました:) – Jen

関連する問題