ScrollView setZoomScale Issue - PullRequest
       1

ScrollView setZoomScale Issue

1 голос
/ 23 августа 2010

Установка:

Приложение панели вкладок

Первый вид - это ScrollView, который имеет ImageView в качестве своего подпредставления, загруженного из файла.

Все вышеперечисленное сконфигурировано в IB.

Приложение правильно запускается, и я могу прокручивать изображение, и все в порядке с миром.

У меня есть масштабирование с помощью пинч-контроля, также не проблема.

Теперь, однако, я пытаюсь использовать setZoomScale в 1.0, когда пользователь дважды нажимает ... И он действительно устанавливает ZoomScale в 1.0 ..

Проблема, однако, в том, что он перемещает представление в положение 0,0, когда он это делает ... полностью игнорируя значения contentOffset ... Даже когда мой следующий вызов после setZoomScale является вызовом для установки contentOffset на soemthing иначе ничего не происходит ...

Итак, я немного запутался .. Я не уверен, почему setZoomScale переориентирует представление на 0,0 и еще хуже, я не понимаю, почему представление не переместится в contentOffset, следующий на следующей строке кода говорит, что он должен, даже если он сбрасывает его на 0,0.

Есть идеи или предложения? Я знаю, что могу использовать zoomToRect, но мне бы очень хотелось знать, что здесь происходит.

1 Ответ

1 голос
/ 24 августа 2010

Zoom To Rect делает то же самое ... это невероятно расстраивает ... любое программное изменение zoomScale в UIScrollView просто принимает его с координатой 0,0 ...

В Zoom To Rect передаваемый прямоугольник - это именно то, что я хочу, но он просто увеличивает масштаб и переходит к координатам 0,0 .. У кого-нибудь есть идеи по этому поводу? Это не имеет никакого смысла для меня.

UPDATE:

Хорошо, я выяснил виновника, но не решение ... zoomToScale запускает contentMode для subView, который в этом случае я установил в TOP LEFT ... Так что каждый вызов zoomToScale или setZoomScale и т. Д .. вызывает изображение, которое будет перерисовано на экране в 0,0.

Теперь взаимодействие с пользователем, масштабирование и прокрутка не вызывают это.

Теперь мне просто нужно найти способ исправить это .. Я не хочу, чтобы представление активировало настройку UIViewContentMode, когда я запрашиваю прокрутку просмотра для увеличения, но я не знаю, как это остановить ... изменить установка перерисовки завершается с пустым экраном, и другие значения также неуместны, так как я не хочу, чтобы изображение перемещалось ... Я просто хочу, чтобы оно было увеличено.

Есть идеи?

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