2017-04-25 9 views
-1

각 셀에 uiscrollview가있는 컬렉션 뷰를 구현하려고하는데 각 scrollview에 몇 개의 사진이 있습니다.UIScrollView를 셀로 사용하는 CollectionView

http://i.imgur.com/Bwch5E3.png

CollectionView 수직으로 스크롤하고, 각각의 셀은 가로 스크롤이다

는 지금까지 보이는 방법이다.

참고 : 사진은 클릭 가능한 버튼입니다! 사용자가 셀에서 이미지를 클릭하면

, 그것은 확장 집합보기를 통해 팝업으로 표시해야합니다

나는 이런 식으로 만들고 싶어. 어떤 버튼이 눌러 졌는지 확인하는 것은 꽤 어려워지고 있습니다. 클릭 수와 그 출처를 관찰하는 더 쉬운 해결책이 있습니까? 당신이 도청을 처리하기 위해 타겟 - 액션 접근 방식을 사용하는 경우

답변

0

당신은 단순히 여기에 탭 버튼에 대한 참조입니다

@objc func handleButtonTap(_ button: UIButton)

button 같은 매개 변수를 사용하여 선택기를 전달할 수 있습니다.

당신은 사용하여 버튼에 대상을 추가 할 수 있습니다

button.addTarget(self, action:#selector(handleButtonTap), for: .touchUpInside)

편집 : 당신이 IndexPath을 확인하려면

당신이 선택에 추가 PARAM forEvent: UIEvent을 제공과 함께이 이벤트를 사용할 수 있습니다 다음 확장 내역

extension UICollectionView { 

    func indexPath(forEvent: UIEvent) -> IndexPath? { 
     return forEvent.allTouches? 
      .first 
      .map { $0.location(in: self) } 
      .flatMap { indexPathForItem(at: $0) } 
    } 
} 
+0

빠른 응답 감사합니다. 나는 또한 셀렉터에 대해서 생각했다. 선택기를 사용하면 어떤 버튼이 정확히 클릭되었는지 확인할 수 있습니다. 그러나이 버튼의 위치를 ​​어떻게 알 수 있습니까? 컬렉션 뷰의 행과 uiscrollview의 수 (?)를 의미합니까? – PlovIsLove

+0

버튼 사용자 정의에 대해 생각하고 있습니다. 아마, 추가 할 수있는 매개 변수가있는 일종의 UIButtonX를 만들고 나중에 선택기로 읽을 필요가 있습니다. 하지만 여전히 최선의 방법은 아닙니다. – PlovIsLove

+0

또는 가장 쉬운 방법은 각 버튼에 태그를 추가하는 것입니다. 그러나 여전히 더 나은 해결책이 있어야합니다. – PlovIsLove

관련 문제