Как добавить экран загрузки для приложения UIWebView при каждой загрузке новой страницы? - PullRequest
2 голосов
/ 15 мая 2010

У меня есть приложение, которое работает с вкладками и веб-просмотром. У меня уже есть настройка для обновления страницы, назначенной вкладке, при каждом выборе элемента на вкладке. Моя проблема сейчас в том, что загрузка страницы занимает некоторое время, и невозможно сказать, является ли отображаемая страница старой или обновленной.

Что я хочу сделать, так это добавить экран загрузки (простое изображение), который будет отображаться до загрузки обновленной страницы. Вот функция, которую я запускаю на каждом вкладке:

- (void) goToPage:(NSString *)sid
{
    NSString *newURL = [NSString stringWithFormat:@"%@/mykingdom.php?sid=%@", appURL, sid];

    [secondView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:newURL]]];
}

Спасибо!

Ответы [ 2 ]

5 голосов
/ 25 мая 2010

UIWebViewDelegate имеет 2 удобных метода:

– webViewDidStartLoad:(UIWebView *)webView
– webViewDidFinishLoad:(UIWebView *)webView

Вы можете легко реализовать и делать все что угодно. Cheers,

0 голосов
/ 15 мая 2010

Предпочтительным пользовательским интерфейсом является отображение большого UIActivityIndicatorView. Это «шестеренка», которая вращает основной момент, как будто поворачивая.

Если вам нужно что-то еще, вы можете просто отобразить модальное представление над UIWebView с некоторой графикой в ​​нем, а затем закрыть его, когда веб-представление сообщает о том, что загрузилось.

Если вы хотите, чтобы веб-представление отображало что-либо, проще всего было бы иметь веб-представления, в которых одна отображает загрузочную страницу, а другая - загружает реальную страницу. Меняйте их по мере необходимости. Это избавляет от необходимости управлять загрузкой в ​​строку, а затем загружать ее в веб-представление, которое иногда может запутаться для сложных веб-сайтов.

...