Я работаю над небольшим приложением, на котором у меня есть UIScrollView - и внутри этого изображения, в два раза ширину, отображающее карту. UIScrollView выполнен в редакторе раскадровки, изображение динамически загружается.Получение координат касания от изображения при сохранении функции панорамирования/масштабирования
Работает частично - я могу панорамировать, масштабировать и обнаруживать щелчок, но мне нужно, чтобы вернуть координаты x/y, отражающие положение касания.
Вот соответствующая часть моего кода:
UIImage *worldMapImage = [UIImage imageNamed:@"worldmapBig.png"];
imageView = [[UIImageView alloc] initWithImage:worldmapImage];
imageView.userInteractionEnabled = YES;
imageView.multipleTouchEnabled = YES;
[_worldmap addSubview:imageView];
_worldmap.userInteractionEnabled = YES;
[_worldmap setContentSize:[worldMapImage size]];
[_worldmap setMinimumZoomScale:.5];
[_worldmap setMaximumZoomScale:1.0];
[self performSelectorOnMainThread:@selector(didLoadImageInBackground:) withObject:imageView waitUntilDone:YES]; // After loading, initially zoom out
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)];
tapGesture.numberOfTapsRequired = 1;
tapGesture.numberOfTouchesRequired = 1;
[imageView addGestureRecognizer:tapGesture];
}
-(void)tapDetected:(UIGestureRecognizer*)recognizer{
UIView *myView = [recognizer view]; <--
CGPoint touch = [recognizer locationInView:myView]; <--
NSLog(@"%f", touch.x);
}
Я искал много веб-страниц, обращаясь с подобной проблемой - а также пытались заменить изображение с помощью кнопки, используя карту в качестве фона. Он возвращает координаты, но затем я больше не могу панорамировать/масштабировать; не смогли получить обе координаты и функции панорамирования/масштабирования в одном и том же коде.
Вы можете помочь мне здесь? Я застрял в течение достаточно нескольких дней ...
UPDATE: обработчик событий был изменен - теперь он работает :-)
Теперь он работает - я не понял, как использовать UIGestureRecognizer. Если вы представите в качестве ответа, я закрою поток. Спасибо дружище. – Anders