У меня есть UIScrollView
, который имеет UIImageView
. Я хочу показать булавки на этом imageView
. Когда я добавляю контакты в качестве подпредставлений ImageView
, все отлично, за исключением того, что при масштабировании преобразование масштаба происходит и на выводах. Я не хочу такого поведения и хочу, чтобы мои булавки остались прежними.
Поэтому я решил добавить штифты в другое представление, которое находится сверху ImageView и также является подпредставлением UIScrollView
. Идея здесь, если вы представите, состоит в том, чтобы иметь слой, который парит над картой и не будет масштабироваться, пока не покажите булавки там, где я их нанесу.
Пин при добавлении в представление слоя не масштабируется, если ImageView
масштабируется. Тем не менее, проблема заключается в том, что положение выводов не соответствует исходному происхождению x / y, поскольку ImageView
имеет масштабное преобразование.
В основном это пользовательская карта места с булавками. Я пытаюсь, чтобы штифты плавали, а не увеличивали и уменьшали масштаб моего ImageView, но помните, где я их разместил, когда происходит увеличение.
Код:
scrollView = [[UIScrollView alloc] initWithFrame:viewRect];
scrollView.delegate = self;
scrollView.pagingEnabled = NO;
scrollView.scrollsToTop = NO;
[scrollView setBackgroundColor:[UIColor clearColor]];
scrollView.clipsToBounds = YES; // default is NO, we want to restrict drawing within our scrollview
scrollView.bounces = YES;
scrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
imageViewMap = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]];
imageViewMap.userInteractionEnabled = YES;
viewRect = CGRectMake(0,0,imageViewMap.image.size.width,imageViewMap.image.size.height);
//viewRect = CGRectMake(0,0,2976,3928);
[scrollView addSubview:imageViewMap];
[scrollView setContentSize:CGSizeMake(viewRect.size.width, viewRect.size.height)];
iconsView = [[UIView alloc] initWithFrame:imageViewMap.frame];
[scrollView addSubview:iconsView];
Код для добавления PIN-кода позже для какого-либо события.
[iconsView addSubview:pinIcon];
Я застрял в попытке выяснить, как заставить мои булавки парить на карте, не двигаясь, когда происходит масштабирование.