Содержимое UIWebView не загружается, пока не отобразится представление - PullRequest
3 голосов
/ 25 января 2012

У меня есть UIView, который на viewDidLoad создает и показывает UIWebView.Веб-представление на самом деле не показывает его содержимое, пока оно не появилось.Панель навигации отображается вместе с представлением во время процесса анимации, но веб-представление заполняется через секунду после завершения анимации.Как сделать так, чтобы веб-представление загружало содержимое ДО начала анимации.Вот мой код, спасибо:

-(void)viewDidLoad
{
    [super viewDidLoad];

    self.title = @"Help";
    NSString *html = @"my html contents goes here, all local and all within a string - does contain one BG image though";

    UIWebView *webView = [[UIWebView alloc] initWithFrame:_webFrame];
    NSString *path = [[NSBundle mainBundle] bundlePath];
    NSURL *baseURL = [NSURL fileURLWithpath:path];

    [webView loadHTMLString:html baseURL:baseURL];
    [self.view addSubView:webView];
    [webView release];
}

Ответы [ 2 ]

0 голосов
/ 29 января 2012

Насколько я знаю, UIWebView должен быть на экране для загрузки и рендеринга.я бы попробовал следующее:

  1. создать и добавить веб-представление на вызывающем контроллере представления.
  2. установить фрейм веб-представления таким образом, чтобы на экране отображался только один пиксель.
  3. загрузка html-содержимого.
  4. загрузка в новый ViewController, удаление веб-просмотра из старого родительского элемента и добавление нового.

может работать, но на самом деле это не стоитхлопот, почему бы не попытаться «решить» проблему, добавив индикатор загрузки или текст заполнителя?

0 голосов
/ 25 января 2012

Я думаю, UIWebView требуется некоторое время для инициализации, поскольку он использует движок WebKit. Вы можете попытаться добавить простой тайм-аут, прежде чем фактически нажать новый view-контроллер или показать заполнитель во время анимации «push».

...