Задержка UIWebview для загрузки текста при прокрутке?

Я добавил html-файл для загрузки в UIWebview, и он отлично работает. Затем (UIWebview) прокручивает более быструю задержку для загрузки текста, при более быстрой прокрутке появляется белый фон. Я хочу удалить белый фон при более быстрой прокрутке.

Можно ли загрузить UIActivityIndicatorView вовремя, пожалуйста, помогите мне

Заранее спасибо


person SampathKumar    schedule 18.10.2013    source источник
comment
Вам нужно изменить цвет фона?   -  person Ganapathy    schedule 18.10.2013
comment
спасибо за ваш ответ, уже установил цвет bckgrd чистый цвет   -  person SampathKumar    schedule 18.10.2013
comment
в момент загрузки индикатора активности можно ли это сделать   -  person SampathKumar    schedule 18.10.2013


Ответы (2)


Потому что отслеживание событий в UIScrollview блокирует основной поток.

Вы можете попытаться заставить прокрутку конца прокрутки (или замедление) scrollView перед другим веб-действием.

Я немного поиграл с вашим оригинальным решением, и, похоже, оно работает нормально. Я думаю, что у вас это почти получилось, но вы просто сместили прямоугольник, который вы использовали слишком много, и забыли, что вы можете просто прокрутить прямоугольник прямо обратно к исходному прямоугольнику.

Обобщенное решение для любого действия прокрутки таково:

 - (void)killScroll 
    {
        CGPoint offset = scrollView.contentOffset;
        offset.x -= 1.0;
        offset.y -= 1.0;
        [scrollView setContentOffset:offset animated:NO];
        offset.x += 1.0;
        offset.y += 1.0;
        [scrollView setContentOffset:offset animated:NO];

}

[Изменить] Начиная с iOS 4.3 (и, возможно, ранее) это также работает

- (void)killScroll 
{
    CGPoint offset = scrollView.contentOffset;
    [scrollView setContentOffset:offset animated:NO];
}
person Vizllx    schedule 18.10.2013

Я думаю, что нашел проблему. Похоже, что NSURLRequestReturnCacheDataElseLoad и NSURLRequestReturnCacheDataDontLoad не работают на iPhone. Когда NSCachedURLResponse возвращается из кеша и содержит заголовки HTTP, указывающие на то, что срок действия содержимого истек (например, Expires, Cache-Control и т. д.), кэшированный ответ игнорируется, и выполняется запрос к исходному источнику.

Решение выглядит следующим образом:

Реализуйте свой собственный подкласс NSHTTPURLResponse, который позволит вам изменять словарь allHeaderFields. Реализуйте свой собственный NSURLCache, переопределите cachedResponseForRequest: и верните новый NSCachedURLResponse, содержащий экземпляр вашего подкласса NSHTTPURLResponse с удаленными соответствующими заголовками HTTP с истечением срока действия.

person Vizllx    schedule 18.10.2013