Изменение размера UIView с подпредставлением UIScrollView - PullRequest
3 голосов
/ 17 марта 2011

Эй, ребята! У меня есть большая проблема, касающаяся изменения размера производного UIView с UIScrollView в качестве подпредставления.

в сообщении layoutSubviews я устанавливаю фрейм подпредставления UIScrollView. UIScrollView содержит UIImageView с большим изображением, которое можно перемещать / сжимать и так далее. начальный contenSize из UIScrollView является исходным размером изображения.

пока, так хорошо. перемещение и сжатие изображения работает хорошо. Теперь я должен изменить рамку UIView (в моем приложении, чтобы максимизировать UIView). Я делаю это в анимационном блоке (beginAnimations / commitAnimations). поэтому я устанавливаю новый кадр (который будет обновлять ширину и высоту), а затем я вызываю [myView layoutIfNeeded], чтобы заставить UIScrollView обновить свой кадр в сообщении layoutSubviews моего представления.

анимация UIView корректно соответствует новому кадру, и если contentOffset из UIScrollView в настоящее время x 0, y 0, кадр UIScrollView будет обновлен должным образом. но вот моя проблема: если contentOffset из UIScrollView на больше, чем x 0, y 0, UIScrollView будет "скользить" от левого верхнего до конечного положения.

Я хочу, чтобы UIScrollView правильно изменял размер своего фрейма по отношению к родительскому фрейму и выравнивал содержимое (в моем случае UIImageView). но как мне этого достичь?

1 Ответ

10 голосов
/ 21 марта 2011

после нескольких часов веб-исследований я нашел решение этой проблемы:

[UIView setAnimationBeginsFromCurrentState: YES];

это оживит все слои из текущего состояния.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...