1

동일한 컨트롤러에 UICollectionView 및 UITableView가 있습니다. 이유 때문에 스크롤 뷰 대리자 메서드를 구현해야합니다. 어떻게 대리자를 유발하는 구성 요소를 구별 할 수 있습니다 (예를 들어,이 테이블 또는 UICollectionView입니까?)ScrollView 대리자에 대한 액세스 부모 구성 요소

func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) { 

    //need to distinguish which component 
    //triggered the delegate here 

    snapToNearestCell(collectionView) 
} 

아이디어 스크롤 뷰가없는 경우에도 각 구성 요소 (에 대한있는 UIScrollView에 태그를 추가하는 것입니다 액세스하기 쉽고 구성 요소 뷰를 반복해야합니다.)

기타 아이디어, 모범 사례?

답변

1

테이블보기 및 컬렉션보기는 해당 메서드로 전달되는 스크롤보기입니다. 태그를 표보기 및 모음보기로 설정하면 누가 위임 메소드를 호출했는지 추론 할 수 있습니다.

+0

아, 내 생각에 테이블 뷰는 scrollview이지 스크롤 뷰가 없습니다. 나는 이것과 어리석은 짓을하고 있었다, 고마워. –