我有一个tableView
和Cell,在Cell上我有collectionView
并在其上显示一些内容。
我想发送一个关于indexPath
选择的链接。
我想从CollectionViewCell
上的自定义TableViewCell
推送/显示我的观看次数。
class secondTopicTableViewCell: UITableViewCell {
@IBOutlet weak var relatedCustom: UICollectionView!
var relArray = NSArray()
func loadArray(arr: NSArray) {
self.relArray = arr
self.relatedCustom.reloadData()
}
}
extension secondTopicTableViewCell : UICollectionViewDataSource {
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return relArray.count
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("collection", forIndexPath: indexPath) as! relatedCollectionViewCell
let info = self.relArray.objectAtIndex(indexPath.row) as! specificTopicInfo
cell.showInfo(info)
return cell
}
}
extension secondTopicTableViewCell : UICollectionViewDelegate {
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
let relatedTopic = self.relArray.objectAtIndex(indexPath.row) as! specificTopicInfo
let str = relatedTopic.relatedLink!
print(str)
}
}
class relatedCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var relatedLabel: UILabel!
func showInfo(info: specificTopicInfo) {
relatedLabel.backgroundColor = UIColor.grayColor()
relatedLabel.text = info.relatedTitle
}
}
答案 0 :(得分:0)
您只需使用与Tableview控件相同的 didSelectItemAtIndexPath 进行导航。 将导航代码写入Collectionview的 didSelectItemAtIndexPath
答案 1 :(得分:0)
如果要在表格视图单元格中嵌套集合视图,并且想要从显示第一个单元格的表格视图中触发操作,则可以执行两项操作。
您可以使用UICollectionViewDelegate协议来捕获用户与集合视图单元的交互。
不要忘记将表格视图单元格设置为其集合视图的委托。
您可以创建自己的协议(当单元格有多个按钮时很有用。)
然后,每个按钮都有自己的“didTap”方法,而不是原始集合视图委托中的“didSelect”方法。