我有UITableview
。其中一个UITableViewCell's
是UICollectionview
,其实例名称为" amenityView"。 UICollectionViewDelegate
和UICollectionViewDataSource
设置在storyboard
中,如下所示。调用以下方法并按预期填充数据。
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
- (UICollectionViewCell *)collectionView:(UICollectionView *)collection cellForItemAtIndexPath:(NSIndexPath *)indexPath
但是,当我选择UICollectionViewCell
中包含的UICollectionView
时,以下方法无法调用。我错过了什么?
-(void) collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
-(void) collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath
更新:
在此方法中返回YES collectionView:shouldSelectItemAtIndexPath:
将调用以下两种方法。至少那是我缺少的东西。希望这会对一些身体有所帮助......
答案 0 :(得分:1)
是否会调用表视图的didSelectRowAtIndexPath?如果是这样,表视图可能会拦截触摸而不会将它们传递到内部的集合视图。我从来没有完成你想要做的解决方案,但是集合视图在滚动视图中,并且可能不容易将触摸信息以有意义的方式传递到集合视图,因此您可能需要禁用点击表格视图单元格以使集合视图响应触摸。