2010-12-17 1 views
0

웹보기를 표시하려는 모달 뷰 컨트롤러가 있습니다. 처음 나타나는 경우 빈 것으로 표시됩니다. 그러나 그것을 닫은 다음 다시 클릭하면 잘 표시됩니다. 나는 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