我有一个集合视图,每个单元格都有一个点击手势,点击时我想启动另一个viewcontroller,就像使用导航栏时一样(viewcontroller有一个x按钮,应该会弹出它)。
我通常使用self.navigationcontroller?.present用于此目的,但在本例中,由于它是uiCollectionViewCell,因此无法使用present函数。
我试过但没成功:
func handleTap(){
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "driver")
self.window?.rootViewController?.presentedViewController?.addChildViewController(controller)
}
出于某种原因,所有的选项都是零。
这甚至是一种合乎逻辑的方法吗?什么是解决这个问题的好办法?
最佳答案
使用此方法实现推送segue。
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
// handle tap events
print("You selected cell #\(indexPath.item)!")
}
你也可以使用故事板来执行这个动作
关于swift - Swift:在UICollectionViewCell上推送View Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42065098/