我有一个UICollectionView。它的单元格里面有一个UICollectionView。
我可以检测何时点击包含collectionView的单元格(通过didSelectItemAtIndexPath)。但是,我无法检测到单元格内的集合视图的单元格(如各个太阳图标所示)被点击。
所有内容都启用了用户互动。我已经尝试覆盖collectionView as described here的hitTest。
更新:我在一个简单的测试项目中再次尝试了这个并且它工作正常。但是在我当前的项目中由于某种原因,最内层嵌套的collectionView(带有太阳图标)没有出现在视图调试器中。
注意我将collectionView背景设为蓝色,其单元格为粉红色。虽然它们出现在正在运行的应用程序中,但它们在调试视图时不会出现?
答案 0 :(得分:0)
我之前已经这样做了......但是要解释起来有点困难。 简短的回答是TapGestures。
所以我通过故事板绘制了tableView。集合视图以编程方式添加。
对于TableView cellforRow,我调用了UITableViewCell子类。我将rootView作为委托传递给了我。其中称为CollectionViewClass。这是绘制单元格的实际项目并将其添加到集合视图的位置。在这一点上,我有rootdelegate。对于每个项目,我添加一个tapGesture。
let tap = UITapGestureRecognizer(target: self, action: #selector(viewTapped))
因此,每个项目现在都有一个点击手势。现在在我看来是绘图我可以调用rootview来查找哪个单元格。
func viewTapped() { tapDelegate?.milestoneTapped(passID) //tapDelegate = RootView }
我希望这会有所帮助。
答案 1 :(得分:0)
一旦我从使用XIB为我的单元格改为使用故事板中的常规单元格,这个问题就不会发生了。