2010-12-17 79 views
0

我有一個模式視圖控制器,我試圖在其中呈現Web視圖。這是第一次出現,它顯示爲空白。但是,當我關閉並再次單擊它時,它顯示正常。我想這可能是加載的webView的問題,但我試圖顯示它只有當webView完成加載,但它永遠不會被調用。Modal View Controller第一次顯示空白,隨後正常工作

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將爲零,因此在其上調用loadRequest將不會執行任何操作。

您可以在presentModalViewController調用之後移動loadRequest調用。

但是不直接訪問視圖控制器視圖中的控件,最好是在WebViewController中將url字符串聲明爲NSString屬性(稱爲urlString),並在presentModalViewController調用之前將其設置爲fileString(並且不要創建NSURL等在那裏):

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

最後,在WebViewController,在viewWillAppear:viewDidAppear:,創建(使用urlString)的NSURL,創建的NSURLRequest,並調用的loadRequest。

+0

謝謝,這工作完美。我甚至沒有考慮到它尚未初始化的事實。 – russ36363 2010-12-17 19:09:25

+0

謝謝!這實際上幫助我解決了類似的問題,在瀏覽器控件是空白的時候,我關閉並重新打開了我的表單:) – Jen 2015-05-29 07:58:36

相關問題