У меня есть UIWebView
, который я использую для отображения различного контента, иногда HTML, а иногда PDF / Powerpoint и т. Д. (Который, по-видимому, обрабатывается тот же основной элемент управления).
Я хочу использовать базовый UIScrollView
(подвид UIWebView
), чтобы захватить точную перспективу вида прокрутки и воссоздать положение прокрутки в другом ] UIWebView
, таким образом синхронизируя их обоих.
Проблема, с которой я столкнулся, заключается в том, что свойство zoomScale
объекта UIScrollView
всегда равно 1.0
при отображении содержимого HTML (хотя при отображении содержимого PDF) zoomScale
правильный).
Мне удалось обнаружить, что единственное место, где я могу получить представление о масштабе масштабирования HTML-страницы, - это метод делегата scrollViewDidEndZooming: withView: atScale:
. Я обнаружил, что аргумент atScale:
, по-видимому, обеспечивает относительный масштаб масштабирования по сравнению с тем, каким был масштаб масштабирования до начала операции масштабирования. Так, например, при увеличении масштаба этот аргумент равен> 1, а при уменьшении - <1, и, похоже, это относительное значение между двумя масштабами масштабирования, а не абсолютный масштаб масштабирования).
Далее я обнаружил, что, по сути, содержимое HTML и PDF обрабатывается двумя разными базовыми представлениями: есть UIWebBrowserView
, который обрабатывает содержимое HTML, и UIWebPDFView
для обработки отображения PDF-файлы.
Другими словами, при использовании UIWebPDFView
свойство zoomScale
в UIScrollView
полностью надежно (например, 1.0
для уменьшено, 2.4
для увеличения, например). С другой стороны, UIWebBrowserView
намного сложнее, и при запросе UIScrollView
его zoomScale
всегда возвращает 1.0
, но когда при получении обратного вызова делегата получает относительное значение шкалы.
Итак, мои вопросы: -
Это ошибка? (Это поведение наблюдается как на iOS 4, так и на 5 из того, что я видел).
Как я могу получить как zoomScale
(или какое-либо другое свойство / свойства) как для содержимого HTML, так и для PDF, и получить его таким образом, чтобы состояние можно было дублировать и синхронизировать с другим UIWebView
.
Я не обязан использовать zoomScale
, поэтому я открыт для других предложений о том, как состояние прокрутки UIWebView
может быть захвачено и воспроизведено на другом UIWebView
.