мое приложение имеет UIScrollView с UIView в качестве подпредставления.Оба имеют одинаковый размер.ScrollView содержит большое изображение, а подпредставление является представлением «наложения», которое содержит маркеры, которые устанавливаются, когда пользователь нажимает на большое изображение (карту).В основном это простое приложение, которое позволяет устанавливать маркеры в определенных местах на карте.
пока все хорошо.Настройка маркеров и прокрутка scrollView работает (маркеры сохраняют положение на карте).Однако осталась одна проблема.При увеличении / уменьшении масштаба маркеры (в режиме наложения) расположены неправильно (маркеры перемещаются в верхний левый угол при увеличении).Я уже пытался преобразовать позиции маркера с помощью метода convertPoint (), но, к сожалению, безуспешно.
Моя иерархия UIView выглядит так:
[mapScrollView addSubview:mapImageView]; // mapScrollView obviously is the scrollview. it holds
// an UIView with an image (map).
[mapScrollView addSubview:mapImageAnnotationView]; // UIView that holds annotations (markers)
[mapImageView addGestureRecognizer:singleTap]; // handle taps
[mapImageView addGestureRecognizer:doubleTap];
[mapImageView addGestureRecognizer:twoFingerTap];
[self addSubview:mapScrollView]; // self is the container UIView that holds the composition
Настройка размера / границы:
mapImageView = [[UIImageView alloc] initWithImage: mapImage]; // init with image file
mapScrollView.contentSize = CGSizeMake(mapImageView.frame.size.width,mapImageView.frame.size.height);
mapScrollView.clipsToBounds = YES;
mapImageAnnotationView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, mapImageViewWidth, mapImageViewWidth)];
Кто-нибудь может указать мне правильное направление, чтобы решить эту проблему?
спасибо