collectionView:UICollectionView,didSelectItemAt indexPath:未执行IndexPath

时间:2019-01-28 10:53:20

标签: ios swift collectionview

这是我的collectionViewCell的图像。

cell Image

我在collectionView内有tableViewCell,在collectionViewCell内有一个按钮,可以按我的意愿很好地工作。但是令我困扰的是函数didSelectItemAt没有被调用。

我尝试过

mycollectionview.isUserInteractionEnabled = true
mycollectionview.allowsSelection = true

但仍然无法正常工作。我在某处阅读时,collectionViewCell中的按钮是其背后的原因。如果是这样,我该如何解决此问题。

4 个答案:

答案 0 :(得分:1)

请确认您已将UICollectionView的委托设置为ViewController而非TableViewCell的委托。如果您将Delegate设置为UITableViewCell,那么您的didSelectItemAt将在TableViewCell's类内被调用

答案 1 :(得分:0)

快速尝试此代码4

cell.btnCart.addTarget(self, action: #selector(btnCartAction), for: .touchUpInside)

并处理操作

@objc func btnCartAction(sender:UIButton) {
        //write your code here
}

答案 2 :(得分:0)

检查所有放置在单元格上的视图。如果它们启用了用户交互并且已启用用户交互,那么该项目的大小是多少。看起来有些视图覆盖了整个单元格,这就是为什么选择项没有被调用的原因。

答案 3 :(得分:0)

请检查您的Button大小,tableView选择(单选或多次),检查tableView用户是否已启用交互,还检查数据源或委托是否已连接