无论是collectionview还是tableview都可以根据cell上的某控件取到cell的位置代码如下(以collectionview为例)
//1 根据btn取到父视图,只要是cell上的控件都可以
UIView *v = [btn superview];
//2 根据父视图取到自定义的cell
IndexCollectionCell *cell = (IndexCollectionCell *)[v superview];//获取cell
// NSIndexPath *indexPath = [self.MyCollectionView indexPathForCell:cell];//获取cell对应的section
//获取cell坐标
CGRect rectInTableView=[self.myCollectionView convertRect:cell.frame toView:self.myCollectionView];
CGRect rect = [self.myCollectionView convertRect:rectInTableView toView:[self.myCollectionView superview]];
//然后可以根据rect的origin和size 做出相对应的处理