Используя UIScrollView, при уменьшении масштаба, как я могу сохранить представление содержимого в центре? - PullRequest
2 голосов
/ 08 февраля 2012

Минимальная шкала составляет 0,5

Максимальная шкала составляет 2,0

Мне нужно всегда использовать большее contentSize для UIScrollView, чтобы иметь возможность перетаскивать содержимое.Таким образом, когда CGRect содержимого изменяется, contentSize из UIScrollView также изменяется.

Однако, когда я уменьшаю масштаб, если масштаб становится ниже 1,0, contentOffset резкоизменено на {0.0, 0.0}, что делает очень трудным изменение размера содержимого при сохранении его позиции в режиме наложения (например, в виде одеяния).

Другими словами, я не могу уменьшить представление содержимого в меньшем размере.удерживая его в центре UIScrollView.

Пожалуйста, помогите мне найти правильный способ использования увеличения / уменьшения с помощью UIScrollView, сохраняя при этом позицию представления содержимого.

Ответы [ 2 ]

2 голосов
/ 02 июля 2012

Решение в основном заключается в использовании contentInset при первоначальной настройке, чтобы держать контент в центре, вместо contentOffset. Поскольку contentInset не изменен, увеличенный или уменьшенный объект может постоянно находиться в центре.

0 голосов
/ 01 мая 2013

На этот вопрос довольно хорошо ответили в посте: UIScrollView с центрированным UIImageView, как приложение «Фотографии»

В частности, обратитесь к ответу Джозефа, который сам по себе взят из презентации WWDC 2010 года.

Это также описано в книге Мэтта Нойбурга с использованием той же ссылки на WWDC: http://www.amazon.com/Programming-iOS-6-Matt-Neuburg/dp/1449365760/ref=sr_1_1?ie=UTF8&qid=1367363707&sr=8-1&keywords=programming+ios6

Источник которого доступен здесь (см. Главу 20): https://github.com/mattneub/Programming-iOS-Book-Examples

Открытый вопрос для меня: разве это нельзя сделать как часть ограничений?

...