2013-12-08 2 views
0

나는 UICollectionView를 만들고 수동으로 데이터 소스를 구현하고 프로토콜을 위임하여 뷰에 속성을 위임하고 사용자 지정 흐름 레이아웃 구현을 제공했습니다. 그러나 얻을 수없는 것 같습니다.UICollectionViewDelegate가 실행되지 않음

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath 

대리인이 전화를 겁니다.

나는 UICollectionViewController를 사용하는 예제 프로젝트를 가지고 있지만, 필자의 경우에는 뷰 컨트롤러를 만들거나 스택에 밀어 넣을 수 없다. 아이템 그리기가 제대로되었습니다. 셀을 사용자 정의했습니다. 흐름 레이아웃을 확장하고 그리드가 올바르도록 커스터마이징 해주었습니다. 그러나 셀 중 하나를 두드리면 델리게이트 선택 메소드가 실행되지 않습니다.

나는 분명히 뭔가 다른 것이 있는지 궁금해했다.

답변

0

위임자와 데이터 원본을 프로그래밍 방식으로 할당합니까?

[collectionView setDelegate:self]; 
[collectionView setDataSource:self]; 
//or.... (i dont find this method safe or consistent 
collectionView.delegate = self; 
collectionView.dataSource = self; 

편집 : 대리인의 올바른보기를 참조하는지 확인하는 것이 좋습니다. 컬렉션 뷰를 UIView에 삽입하고 뷰 컨트롤러에 메서드를 위임 할 경우 올바른 개체를 참조해야합니다. 터치 이벤트가있는 경우 blocking that call 일 수도 있습니다.