У меня есть UIWebView
, который я использую для отображения различного контента, иногда HTML, а иногда PDF / Powerpoint / и т. Д. (Который, похоже, обрабатывается одним и тем же базовым элементом управления).
ЧтоЯ хочу сделать это использовать базовый UIScrollView
(подпредставление UIWebView
), чтобы захватить точную перспективу вида прокрутки и воссоздать позицию прокрутки в другом UIWebView
, таким образом поддерживая их оба в синхронизации.
Проблема, с которой я сталкиваюсь, заключается в том, что свойство zoomScale
UIScrollView
всегда равно 1.0
при отображении содержимого HTML (хотя при отображении содержимого PDF zoomScale
является правильным).
Мне удалось обнаружить, что единственное место, где я могу получить хоть какое-то представление о масштабе увеличения HTML-страницы, - это метод делегата scrollViewDidEndZooming:withView:atScale:
.Я обнаружил, что аргумент atScale:
, по-видимому, обеспечивает масштаб масштабирования относительно , который был до масштабирования до начала операции масштабирования.Так, например, при увеличении этот аргумент равен> 1, а при уменьшении он равен <1, и он представляется относительным значением между двумя масштабами масштабирования, а не абсолютным масштабом масштабирования). </p>
ЧтоЯ также обнаружил, что по сути, контент 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
.