1

UICollectionView 내부의 UICollectionViewCell에서 seque를 수행하려고합니다. UICollectionView의 하위 뷰인 UIIMage가 있습니다. UICollectionViewCell의 피어 뷰인 버튼이 있습니다. UIIMage 위에 투명한 버튼의 워크 어라운드를 사용하여이 셀에서 터치 이벤트를 캡처했습니다. 이제는 사용자가 콜렉션 셀에서이 이미지를 클릭 할 때 segue를 수행하려고합니다. 문제는 segue를 트리거 한 셀의 버튼이 무엇인지 알지 못하고 segue를 준비 할 때 처리하는 것입니다.UICollectionCell의 버튼을 클릭하여 segue를 수행하십시오.

송신자가이 버튼 일 때 버튼이 IBAction을 트리거합니다. 이 Transerent 버튼 아래에 어떤 셀이 UICollectionCell인지 어떻게 알 수 있습니까?

답변

1

버튼에 태그를 추가하고 태그에 따라 다른 부분을 수행하십시오. 또 다른 방법은 - 단추가 없으면 UIImages에 탭 제스처를 추가하고 탭핑 된 이미지에 따라 각자를 수행하는 것입니다 ...

+0

을 사용하는 것입니다,하지만 같은 SEGUE 그러나 버튼의 포함 된 셀에 SEGUE를 보낸 사람을 변경합니다. 이 버튼이 포함 된 UICollectionViewCell을 어떻게 참조합니까? 이게 발신자 일까. 슈퍼 뷰? – DrBug

+0

해결책을 찾았습니다 : - (void) buttonPressed : (id) 보낸 사람 { UITableViewCell * clickedCell = (UITableViewCell *) [[보낸 사람 superview] superview]; NSIndexPath * clickedButtonPath = [self.tableView indexPathForCell : clickedCell]; ... } – DrBug

0

해결책을 찾았습니다 : tableview에서 해결 된 것과 유사합니다 (물론 UICollectionView는 재 포장 된 테이블보기)는 here이라고 게시했습니다.

이 솔루션은 다른 segues을하고 싶지 내가 그나마

-(void)buttonPressed:(id)sender { 
UITableViewCell *clickedCell = (UITableViewCell *)[[sender superview] superview]; 
NSIndexPath *clickedButtonPath = [self.tableView indexPathForCell:clickedCell]; 
... 

}