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】:请试试这个:
在tableView
cellForRowAtIndexPath
方法中:
cell.yourCollectionView.tag = indexPath.row
在CollectionView
cellForRowAtIndexPath
方法中:
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