2014-02-11 6 views
-1

내 뷰에 5 개의 ImageView가 있고 이것 모두에 대해 IBOutlets을 가지고 있습니다.제스처 인식기를 사용하여 어떤 UIImageView를 탭했는지 확인하는 방법은 무엇입니까?

나는 모두를 위해 설정 한 단일 탭 제스처 인식기가 있습니다.

지금이 제스처 인식기의 동작에서 두드린 이미지를 찾아야합니다.

이 방법을 알려주십시오. 스토리 보드를 사용하여이 모든 이미지와 제스처 인식기를 추가합니다.

감사합니다.

+0

질문에 의미가 없습니다. 다섯 가지보기에 대해 단일 탭 제스처 인식기를 설정할 수 없습니다. 그것은 단지 하나의 견해를 가지고 있습니다. 이미지 뷰가 5 개있는 경우 5 개의 탭 제스처 인식기를 사용하십시오. 이제 제스처 인식기가 작동하면 '뷰'가 탭 이미지 뷰입니다. – matt

답변

1

UIImageView는 터치 제스처에 응답하지 않습니다. 하위 클래스를 만들어 각 동작에 제스처 수신기를 연결해야합니다. here에서 :

있는 UIImageView는 터치 이벤트를 처리 할 준비가 그래서 UIResponder에서 파생 된 UIView의에서 파생됩니다. 사용자가 이미지를 탭하면 touchesBegan, touchesMoved 및 touchesEnded 메소드를 제공하고 을 호출하면 이 호출됩니다. 원하는 항목이 탭 이벤트 인 경우 버튼 이미지로 이미지 세트가 포함 된 맞춤 검색 버튼을 사용하는 것이 더 쉽습니다. 그러나 도청에 대한 미세 조정을 원하면 이동 등이 필요합니다. (기본값은 NO입니다)

재정의 canBecomeFirstResponder과 보기 터치 이벤트의 초점이 될 수 있다는 것을 나타 내기 위해 YES를 반환 :

은 또한 더 몇 가지를보고 싶을 것이다.

userInteractionEnabled 속성을 YES로 설정하십시오. UIViews의 기본값은 YES이지만 UIImageViews는 NO이므로 명시 적으로 을 켜야합니다.

멀티 터치 이벤트 (핀치, 확대/축소 등)에 응답하려면 multipleTouchEnabled를 YES로 설정하는 것이 좋습니다.

0

모든 이미지 뷰에 탭 제스쳐를 설정해야합니다. 그런 다음 모든 이미지를 고유 한 태그로 설정해야합니다. 그런 다음 탭이있는 imageView를 지정할 수 있습니다. imageView 객체는 UIGestureRecognizer의 속성 '보기'를 통해 얻을 수 있습니다.

관련 문제