gpt4 book ai didi

ios - UITableViewCell 持有 UICollectionView 并点击集合单元格 segue

转载 作者:行者123 更新时间:2023-11-28 14:53:04 25 4
gpt4 key购买 nike

我正在使用 Swift3 和 Xcode 8.3.3
我正在研究持有 UICollectionView 的 UITableViewCell。每个 CollectionView 单元格都需要执行 segue。我的意思是,我需要用导航 Controller 调用其他 ViewController。因此用户可以返回主 UITableViewController。

import UIKit

class PastCell: UITableViewCell {

@IBOutlet weak var ptripDtls: UICollectionView!

var logcount:Int = 0
override func awakeFromNib() {
super.awakeFromNib()

ptripDtls.delegate = self
ptripDtls.dataSource = self
logcount = Transfer.tripObj[Transfer.cellpos]["logcount"]! as! Int

let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
let width = self.ptripDtls.collectionViewLayout.collectionViewContentSize.width;
layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
layout.itemSize = CGSize(width: width-17 , height: 50)
layout.minimumInteritemSpacing = 0
layout.minimumLineSpacing = 1
ptripDtls!.collectionViewLayout = layout
}

override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}

}

extension PastCell: UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {


func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return logcount
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "PastTripCollectionCell", for: indexPath) as! PastTripCollectionCell
return cell
}

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
//Might be here segue function will call
}

}

最佳答案

这里实际上有多种选择:

关闭

UITableViewCell 中传递一个闭包,例如 tapped: (Model) -> Void 当您将 tableView 单元格出列时,并在该闭包中指定以执行 segue . (如果您的所有收集单元将执行相同的转场,它会起作用,如果应该调用不同的转场,您可以使用此机制传播您的回调)

代表

定义一个自定义委托(delegate),通知您的 viewController CollectioninView 的 DidSelectItem 方法,然后相应地执行 Segue。

通知

在整个系统中触发一个通知,只有您的 ViewController 会监听该通知,并相应地执行您的 segue。 (这实际上不是一个好的解决方案,只是指出它是可能的)

关于ios - UITableViewCell 持有 UICollectionView 并点击集合单元格 segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49652022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com