Modal View Controller отображает пустой первый раз, впоследствии работает правильно - PullRequest
0 голосов
/ 17 декабря 2010

У меня есть модальный контроллер вида, который я пытаюсь представить в нем.Когда он появляется впервые, он отображается как пустой.Когда я закрываю его и нажимаю его снова, оно отображается нормально.Я думаю, что это может быть проблема с загрузкой 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];

1 Ответ

4 голосов
/ 17 декабря 2010

Элемент управления webView не будет доступен в первый раз, пока первый вызов не вызовет загрузку и инициализацию элементов управления.До первого представления webViewController.webView будет равен нулю, поэтому вызов loadRequest для него ничего не даст.

Вы можете переместить вызов loadRequest после вызова presentModalViewController.

Но вместо доступа к элементам управления вДля непосредственного просмотра представлений контроллера было бы лучше объявить строку URL как свойство NSString (называемое say urlString) в WebViewController и установить для него значение fileString до вызова presentModalViewController (и не создавать там NSURL и т. д.):

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

Наконец, в WebViewController , в viewWillAppear: или viewDidAppear:, создайте NSURL (используя urlString), создайте NSURLRequest и вызовите loadRequest.

...