iphone uiwebview начальный белый вид - PullRequest
7 голосов
/ 28 марта 2010

Главный вид моего приложения имеет uiwebview. Он белый за доли секунды до того, как успеет отобразить HTML, который генерирует приложение.

Есть ли способ сделать uiwebview черным или другим цветом перед его рендерингом? Вспышка белого цвета не является частью моего плана плавного визуального перехода.

Ответы Objective-C или MonoTouch - это нормально, я двуязычный.

Ответы [ 4 ]

31 голосов
/ 27 апреля 2010

Еще одна вещь, которую нужно попробовать, - сделать вид прозрачным:

webView.backgroundColor = [UIColor clearColor];
webView.opaque = NO;

Однако это вызывает дополнительную работу по компоновке, поэтому вы можете сбросить эти значения на более удобные для этого после загрузки веб-представления в webViewDidFinishLoad:.

- (void) webViewDidFinishLoad:(UIWebView *)webView
{
    webView.backgroundColor = [UIColor blackColor];
    webView.opaque = YES;
}
3 голосов
/ 28 марта 2010

Одна вещь, которую вы можете попробовать, это поместить UIView нужного вам цвета и расположить его над UIWebView с той же шириной и высотой. Затем в методе webViewDidFinishLoad установите UIView в скрытое состояние.

0 голосов
/ 11 апреля 2013

Добавить к ответу Стива Мэдсена (так как я пока не могу комментировать). Если вы создали экземпляр UIWebView в Интерфейсном Разработчике, вы не сможете установить альфа на 0.0, но вы можете вызвать палитру цветов, чтобы установить цвет фона (белый, черный, серый, это не имеет значения), а затем установить непрозрачность этого цвета до нуля процентов, и это работает.

0 голосов
/ 14 мая 2012

Я пока не могу комментировать, поэтому и ответ. @ Стив, на самом деле это можно делать с раскадровками.

Поместите UIView под UIWebView и:

// Can be set in the storyboard
bottomView.backgroundColor = [UIColor yellowColor];
webview.alpha = 0;

Имейте в виду, что после загрузки через JS загружается много страниц, поэтому вы можете оставить белую страницу через пару секунд после

- (void) webViewDidFinishLoad:(UIWebView *)webView
{
    webView.alpha = 1;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...