2013-11-05 2 views
3

그래서이 VC에서 뷰 컨트롤러 내부에있는 uicollectionview가 있습니다. 일부 단추와 다른 컨트롤이 있고 CollectionView에 데이터를로드 할 때 클릭을 감지 할 수 없습니다. collectionview에,하지만 괜찮 스크롤 스크롤합니다. 내가 생각할 수있는 것은 가끔 내보기 (collectionview 포함)의 모든 하위보기에 대해 userinteraction을 사용할 수 있다는 것이고,이 방법이 작동하지 않는다는 의미에서 작동하고 다른 조건을 기반으로 활동을 사용할 수 있다는 것입니다.UICollectionView, 셀 선택이 작동하지 않습니다, 셀 스크롤 괜찮습니다.

이 코드

if (_isMenuVisible) { 
    for (UIView *subview in [self.actualView subviews]) { 
    if([subview isMemberOfClass:[UIButton class]] || [subview isMemberOfClass:[UILabel class]] || [subview isMemberOfClass:[UIView class]]) { 
     subview.userInteractionEnabled = _isMenuVisible; 
    } 
    else { 
     subview.userInteractionEnabled = !_isMenuVisible; 
    } 
    } 
} 
else { 
    for (UIView *subview in [self.actualView subviews]) { 
     subview.userInteractionEnabled = !_isMenuVisible; 
    } 
} 

이 동작에 영향을 미칠 수의 예입니다?

+0

위의 코드에서 중단 점을 설정하고 사용자 상호 작용이 비활성화되어 있는지 확인하십시오. – Venkat

+0

UICollectionView의 대리자 속성을 설정하고 있습니까? 콜렉션 뷰 셀 선택에 응답하기 위해서는 콜렉션 뷰의 델리게이트에'collectionView : didSelectItemAtIndexPath :'를 구현해야한다. – daltonclaybrook

답변

2

ViewController가 UICollectionViewDelegate 프로토콜을 사용하는지 확인하십시오. 그런 다음 위에서 언급했듯이 collectionView:didSelectItemAtIndexPath:을 재정 의하여 특정 셀을 클릭 할 때 수행 할 작업을 결정하면됩니다.

행 또는 섹션 속성에 액세스하여 셀의 행 또는 섹션을 확인하려면 indexPath를 사용하십시오.

+6

제발이 무엇을 정교하게 : UICollectionViewCellDelegate? – cynistersix

+0

iOS SDK에는 해당 사항이 없습니다. 제발 @AdamWaite하지 마십시오 – Marchy

+2

허 @ @ Marchy? 아무 말도 안 했어? –

관련 문제