UITableViewCell 中的 UICollectionViewCell 中的按钮点击操作

Posted

技术标签:

【中文标题】UITableViewCell 中的 UICollectionViewCell 中的按钮点击操作【英文标题】:Button Tap Action in UICollectionViewCell in UITableViewCell 【发布时间】:2019-01-23 11:24:02 【问题描述】:

我有这个层次结构。

UITableView -> UITableViewCell -> UICollectionView -> UICollectionViewCell -> UIButton。 如何使用 swift4 处理 uibutton 上的点击事件?

【问题讨论】:

你想在哪里处理按钮的动作?在 ViewController 或其他地方? 【参考方案1】:

请试试这个:

tableViewcellForRowAtIndexPath方法中:

cell.yourCollectionView.tag = indexPath.row

CollectionViewcellForRowAtIndexPath方法中:

cell.yourBtn.tag = collectionView.tag * 2000 + indexPath.item

在按钮操作中请写:

let collectionViewTag = sender.tag / 2000
let index = sender.tag % 2000

它可能对您有所帮助。谢谢。

【讨论】:

【参考方案2】:

cellForRowAt里面做

let cell = ///
cell.collectionView.delegate = self
cell.collectionView.dataSource = self  

之后,您就可以在 vc 中实现 cellForItemAt ,然后执行

let collecCell = ///
collecCell.button.addTarget//////

@objc func buttonClicked(_ bt:UIButton) 

关于知道哪个项目可以使用tag 属性

【讨论】:

以上是关于UITableViewCell 中的 UICollectionViewCell 中的按钮点击操作的主要内容,如果未能解决你的问题,请参考以下文章

collectionView:didSelectItemAtIndexPath:没有被调用

UITableViewCell 中的 UIDatePicker 更新 UITableViewCell 文本标签

更改 UITableViewCell 中的对象也更改了重用 UITableViewCell 的对象

确定 UITableViewCell 中的 UIButton

UITableViewCell 事件中的 UIButton 不起作用

UITableViewCell 中的 UICollectionView