2017-03-22 6 views
1

스크린 샷을보십시오. below연결되어있는 UIImageView가 UIScrollView 아래에있는 경우 Tap Gesture Recognizer를 작동시킬 수 있습니까?

Tap 제스처 인식기가 연결된 UIImageView ("Mys body image view")가 있습니다. 이 UIImage를 탭하면 색상이있는 키보드를 호출하여이 사람의 피부색을 변경할 수 있습니다.

맨체스터 이미지보기 맨 위에 머리카락, 얼굴의 머리카락과 옷 (위, 아래)을 담당하는 4 개의 스크롤보기가 있기 때문에 지금은 작동하지 않습니다.

탭 제스처 인식기 (스크롤보기 아래)에서 내 도청에 반응 할 수있는 방법이 있습니까?

+0

스크롤 뷰의 제스처 인식기가 탭 제스처 인식기를 차단하지 않도록 UIGestureRecognizer의 대리자 https://developer.apple.com/reference/uikit/uigesturerecognizerdelegate를 사용해보십시오. 불행하게도, 스크롤 뷰 인식자를 위해 이러한 메소드를 구현하려면 커스텀 UIScrollView 서브 클래스의 스크롤 뷰 인스턴스에해야 할 수도있다. UIScrollView 만 제스처 인식기의 대리자가 될 수 있기 때문입니다. – johnyu

답변

0

UIScrollView subclass을 확인하고이 개 제스처 인식기가 동시에 동작을 인식 할 수 있어야하는 경우

func gesture​Recognizer(UIGesture​Recognizer, should​Recognize​Simultaneously​With:​ UIGesture​Recognizer) 

이 대리인에게 확인 구현 감사드립니다.

func gestureRecognizer(_ gestureRecognizer: UIPanGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UISwipeGestureRecognizer) -> Bool { 
    return true 
} 

또는 대신 수평 UICollectionView를 사용하여 대리자 메서드 didSelectItemAtIndexPath를 구현합니다.

+0

UICollectionView를 선호합니다. 이미지 모음을 표시하기 위해 만들어졌으며, 탭 제스처를 처리하는 적절한 방법을 가지고 있습니다. 자전거를 다시 만들고 싶지 않은 경우 가장 좋은 방법입니다.) 또한 설명서를 읽고 스크롤보기 및 컬렉션보기 (스크롤보기에서 상속)의 API를 비교해보고 차이점을 이해하고 준비 할 것을 권장합니다. 미래에 이런 결정이 내려지기를! –

+0

Tap 제스처 인식기가있는 UIImageView는 여전히 UICollectionView 아래에있을 것입니다. – Rdk

+0

아니요, UICollectionView에는 didSelectItemAtIndexPath 대리자 메서드가있는이 상자가 있습니다. –