0
저는 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);
}
내가, 웹 페이지를 많이 검색된 비슷한 문제를 해결했습니다 여기
내 코드의 관련 부분입니다. 좌표를 반환하지만 더 이상 이동/확대/축소 할 수 없습니다. 동일한 코드에서 좌표 및 이동/확대/축소 기능을 모두 가져올 수 없었습니다.나를 도와 줄 수 있습니까?
이제 작동합니다 - UIGestureRecognizer 사용법을 이해하지 못했습니다. 대답으로 제출하면 스레드를 닫습니다. 고마워 친구. – Anders