Мне действительно тяжело пытаться оживить изменение размера UIWebView
, и просто не знаю, куда еще идти.
Вот что я хочу сделать: у меня есть два вида, один над другим (представьте себе два квадрата, один поверх другого). Вид сверху - UIWebView
, а нижний будет обозначаться как общий UIView
(у меня нет проблем с нижним). Я настраиваю два вида каждый раз, когда новый контент загружается просто отлично. У меня также есть кнопка, которая должна скрывать вид снизу или показывать его, в зависимости от его предыдущего состояния.
Вот в чем проблема. Когда вид снизу скрыт, нажатие кнопки увеличивает ее рамку и уменьшает рамку UIWebView
. Все в порядке. Но если показан вид снизу и нажата кнопка, рамка UIWebView
станет больше, и с ней возникнут некоторые проблемы:
Если UIWebView
прокручивается до самого дна, он немного «подпрыгивает», прежде чем опускаться (становится больше);
Если UIWebView
прокручивается до самого верха, он спускается, как и ожидалось, до тех пор, пока за нижним представлением достаточно прокрутки содержимого.
В целом, что я узнал, так это то, что если содержимое, находящееся за нижним видом, БОЛЬШЕ, чем количество изменяемых размеров, прыжков не происходит. В противном случае это так.
Я провел много исследований, задал предыдущий вопрос , и поэтому я предполагаю, что это является следствием ленивой загрузки UIWebView
. Этот «прыжок» происходит так, что он автоматически изменяет размеры (показывая весь контент, даже если часть его находится за кадром), а затем перемещается вниз. В противном случае он будет одновременно расширяться и загружать новый контент, что потребует гораздо большей мощности процессора.
Я экспериментировал с рамками, границами и центрами, и до сих пор не получил ничего. Правильно ли мое предположение? Нет ли простого способа изменить размер, чтобы изменить размер UIWebView
, чтобы он уменьшался (при увеличении) и сохранял нижнюю прокрутку?
Теоретически, я думаю, что правильным способом было бы увеличить UIWebView
до вершины, сохраняя его текущее нижнее положение, а затем анимировать, опуская его. Таким образом, верхний контент уже будет загружен. Но я не имел никакого успеха с этим.
Если у кого-то есть опыт, пожалуйста, поделитесь. И большое спасибо.