我有一个集合视图,每个单元格都有一个点击手势,当点击时我想启动另一个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)
}
由于某种原因,选项中的全部都是零。 这甚至是合乎逻辑的方法吗?什么是这个问题的好方法?
答案 0 :(得分:2)
使用此方法实现push segue。
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
// handle tap events
print("You selected cell #\(indexPath.item)!")
}
您还可以使用故事板来执行操作