我有一个UITableView,其中每个单元格都包含一个UICollectionView

我可以垂直滚动UITableView并水平滚动嵌套的UICollectionView,但是无法在UICollectionViewCell中选择UICollectionView

UITableView中禁用选择,并在UICcollectionView中启用(默认状态)。
UICollectionView's collectionView:didSelectItemAtIndexPath:绝对不会被调用。

最佳答案

我能够解决此问题的方法是向单元格中添加一个轻击手势识别器,以手动处理轻击,而不是依靠没有被调用的didSelectRowAtIndexPath:

迅捷

let tapRecognizer = UITapGestureRecognizer(target: self, action: "cellTapped:")
tapRecognizer.numberOfTapsRequired = 1
cell.addGestureRecognizer(tapRecognizer)

Objective-C
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(cellTapped:)];
tapRecognizer.numberOfTapsRequired = 1;
[cell addGestureRecognizer:tapRecognizer];

现在,您可以处理在cellTapped:方法中被点击的单元格,并且可以通过tapRecognizer.view获得对被点击的单元格的引用。

关于ios - 当UICollectionView嵌套在UITableVIew中时,无法选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13764330/

10-12 07:15