У меня есть UIScrollView
, у которого есть UIImageView
. Я хочу показать контакты на этом imageView
. Когда я добавляю булавки в качестве подзонов imageView
, все отлично, за исключением того, что при масштабировании масштабное преобразование также происходит на выводах. Я не хочу этого поведения и хочу, чтобы мои контакты остались прежними.
Итак, я решил добавить Pins в другое представление, которое находится поверх 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];
Я застрял в попытке выяснить, как заставить мои контакты наводить курсор на карте, не двигаясь, когда происходит масштаб.