我有一个表视图,里面有一个集合视图。我想找出哪个集合视图单元被点击,以及相应的表视图单元格的indexpath.row。(现在我能够从didSelectRowAtIndexPath()获取集合视图单元格的indexpath.row但是无法找到哪个表视图单元格对应的单元格存在。)
答案 0 :(得分:1)
尝试下面的代码,请告诉我它是否适合您:
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:indexPath];
CGRect frame = [collectionView convertRect:cell.frame toView:tblView];
NSIndexPath *tblIndexPath = [tblView indexPathForRowAtPoint:frame.origin];
}
答案 1 :(得分:-1)
首先进行一些修正。
集合视图委托方法不是didSelectItemAt
didSelectRowAtIndexPath方法()。此外,由于您正在使用集合视图,因此使用indexPath.item
而不是indexPath.row
来获取项目编号(您可以使用row
但是集合视图没有包含项目集合的行。因此使用{{1很直观)
现在,对于您的查询,您可以在表格视图的item
中添加cell.tag = indexPath.row
现在,在您的集合视图委托方法cellForRowAtIndexPath:
中,您可以使用collectionView(_:didSelectItemAt:)
:
来了解您的集合视图所在的表格视图单元格。