iPhone UIScrollПросмотреть несколько видов масштабирования? - PullRequest
0 голосов
/ 13 октября 2009

Я пытаюсь создать карту с аннотациями, очень похожими на MKMapKit (API карт Google), но с пользовательскими картами для помещений. У меня есть PDF-карта (mapView), загружаемая в представление прокрутки для карты как CATiledLayer - это прекрасно работает!

У меня есть представление annotationsView, которое рисует всплывающую подсказку поверх карты в точности так, как я хочу, но позиционировать это сложно.

Если я добавлю вид аннотаций в качестве подпредставления к виду карты - аннотации масштабируются и масштабируются вместе с картой - но позиция остается именно там, где она расположена (хорошо!). Могу ли я остановить масштабирование этого вида при сжатии карты и т. Д.?

Если я добавлю AnnotationsView в uiscrollview, то он сохранит свой масштаб (хорошо!), Но при увеличении карты будет перемещаться по диагонали вверх-влево - кажется, что он остается на фиксированном расстоянии от верхнего левого угла содержимого прокрутки, и расстояние не масштабируется, поскольку карта увеличена.

Я все делаю неправильно?

1 Ответ

0 голосов
/ 19 февраля 2010

в -scrollViewDidEndZooming: метод делегата вы можете масштабировать ваши подпредставления обратно до исходного размера. Код будет выглядеть так:

- (void) scrollViewDidEndZooming: (UIScrollView *) aScrollView withView: (UIView *) view atScale: (float) scale{
   ...
   mySubView.transform = CGAffineTransformMakeScale(1/scale, 1/scale);
   ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...