我有一个UITableView,其中每个UITableViewCell都包含一个UICollectionView。 UICollectionView具有UICollectionViewCells。
我的问题是:其中一些UICollectionViewCells应该对tap-gestures作出反应,其他人应该将事件转发给UITableViewCell(因此它会触发显示该UITableViewCell的详细视图)。
我一直在研究苹果文档和几个问题,但我无法让它工作。
(我认为应该可以解决这个问题,但以防万一:每个UICollectionViewCell都包含一个UIImageView。)
建议非常感谢。
答案 0 :(得分:0)
为什么不让uicollectionview单元格处理水龙头,然后在回调中确定要采取的操作。对于一些人来说,当你敲击牢房时,你可以做你现在所做的事情。对于其他人你可以做任何事情。
答案 1 :(得分:0)
如果我理解正确,你可以这样做:
cell.userInteractionEnabled = NO
。使用此方法覆盖hitTest
中的UICollectionView
:
-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView *hitTest = [super hitTest:point withEvent:event];
return hitTest == self ? nil : hitTest;
}
因此,在启用了用户交互的情况下点击单元格外的任何位置,super
将返回集合视图,并返回nil
,从而导致表格视图单元格处理该事件。