Мне нужно показать слайд-шоу с разбивкой на страницы HTML-страниц с умеренной нагрузкой на DOM в приложении для iPad.
Все документы адаптированы для экрана iPad, поэтому внутри UIWebView
s нет прокрутки.
Я решил поместить UIWebView
внутри UIScrollView
для нумерации страниц.
Это работает очень хорошо и плавно после того, как все веб-представления отобразили свое содержимое.
Однако я не могу позволить себе ждать, пока загрузится 20, 30 или 50 веб-просмотров, прежде чем пользователь сможет прокручивать: это занимает минуты.
Я попытался предвидеть пролистывания в обработчике scrollViewDidScroll
и предварительно загрузить несколько следующих страниц, поскольку пользователь продолжает прокручивать.
Это работало намного лучше (нет разницы в производительности между 10 и 150 веб-просмотрами).
Однако вызов loadHTMLString
в обработчике scrollViewDidScroll
приводит к тому, что прокрутка теряет плавность.
Меня не волнует, потребуется ли на секунду больше времени, чтобы показать конкретный UIWebView
— все, что я хочу, — это сделать прокрутку плавной и доступной как можно скорее, а также лениво предварительно загружать UIWebView
на ходу.
Как мне этого добиться?