2012-11-29 5 views
0

내 앱 중 하나에서 전체 화면으로 이미지를 사용하고 있습니다. 어느 정도 확대 할 수 있습니다. 그 이미지는 8 가지 다른 모양을 가지고 있습니다. (사람, 도형 등을 포함합니다.) 나는 이미지의 각 모양을 클릭 할 수 있는지 확인해야합니다. 각 부분을 만지면 다른 화면으로 이동합니다.이 작업을 수행하는 방법에 대해 알지 못했습니다. 나는 그것을 봤지만 해결책은 없다.이미지에서 특정 부분을 클릭 할 수있는 방법은?

1)는 보통의 화상과 확대 화상 좌표에서 다르고 좌표를 (사용하여이 가능한가? 방법 좌표를 사용하여이를 달성하기 위해?

2) 그렇지 않다면 내 목표를 달성하기위한 최선의 방법은 무엇입니까?

아이디어/샘플을 제공해 주시면 감사하겠습니다.

답변

0

귀하의 질문을 이해하지 못하는 경우 수정하십시오. 나를 위해, 그것은 아주 간단해야합니까? 배경이 명확한 두 개의 버튼이 있습니까? 그리고 그들은 모두 이미지 위에 있습니다.

+0

예, 가능하지만 내 이미지를 확대/축소 할 수 있습니다. 그 경우에는 작동하지 않습니다 – GoCrazy

0

UIResponder을 확인하고 터치 방법을 확인하십시오. 손가락이 화면에서 들어올 때를 감지하기 위해 -touchesEnded:withEvent:과 같은 것을 연결하고자 할 것입니다.

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 
    for (UITouch *touch in touches) { 
     CGRect touchLocationInView = [touch locationInView:imageView]; 
     // Do something to check that the rect is valid 
     // If valid, react to it 
    } 
} 

또한 a link to UITouch입니다.

+0

안녕하세요, 귀하의 답변 주셔서 감사합니다. 늦은 응답으로 미안해, 방금 돌아왔다. 특정 rect를 식별하는 방법 또는 전체 이미지에서 특정 모양을 위해 rect를 만드는 방법 – GoCrazy

+0

미리 'rect'를 정의하고 미리 이미지를 알고 있어야합니다. 어쩌면지도, 이미지 이름을 rects로 만들고 그런 식으로 검색을 수행하십시오. – Hyperbole

1

이미지를 보유하고있는 imageView에 UITapGestureRecognizer을 추가합니다. 그리고 터치 좌표를 결정하는 방법은 locationOfTouch:inView:입니다.

+0

답변 해 주셔서 감사합니다. 이미지가 확대 된 경우는 어떻게됩니까? 이게 효과가 있니? – GoCrazy

+0

나는 그것을 테스트하지 않았지만, 확대는 터치 좌표를 변경하지 않을 것이라고 생각합니다. 그래서 네, 완벽하게 작동 할 것이라고 생각합니다. – iTukker

+0

감사합니다. – GoCrazy

관련 문제