UIWebView прокручивает рывками
Мне нужно использовать веб-сайт с небольшим количеством контента в моем приложении через UIWebView
,
Когда я прокручиваю страницу в Mobile Safari, все плавно прокручивается. Даже если я прокручиваю быстро - фон в квадрате серого цвета появляется, но отображается правильно через несколько секунд (менее 0,5 секунды).
Та же страница в UIWebView
прокручивается рывками, если прокручивается быстро и не показывает серый квадрат в квадрате. Я думаю, что Mobile Safari сначала показывает серый квадрат, а затем рендерится UIWebview
останавливает прокрутку, пока не будет отображена часть, которая будет показана.
Как мне сказать UIWebView
вести себя как Mobile Safari?
2 ответа
Он уже рисуется на собственном пользовательском tiledLayer. Проблема в том, что по умолчанию он пытается нарисовать себя в главном потоке, поэтому он блокируется, когда я не могу нарисовать. Есть личное сообщение, которое вы можете позвонить
-(void)_setDrawInWebThread:(BOOL)arg1
Это сработает, НО вы увидите пустое пространство, когда прокрутите слишком быстро, и оно не сможет угнаться за чертежом, пока не успеет наверстать упущенное. Они используют:
-(void)_setDrawsCheckededPattern:(BOOL)arg1
в мобильном сафари, чтобы помочь с этим.
Нашел лучшее решение. CGTiledLayer. http://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CATiledLayer_class/Introduction/Introduction.html