Swift:在UICollectionViewCell上推送View控制器

时间:2017-02-06 10:08:40

标签: swift uicollectionviewcell viewcontroller

我有一个集合视图,每个单元格都有一个点击手势,当点击时我想启动另一个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)
    }

由于某种原因,选项中的全部都是零。 这甚至是合乎逻辑的方法吗?什么是这个问题的好方法?

1 个答案:

答案 0 :(得分:2)

使用此方法实现push segue。

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    // handle tap events
    print("You selected cell #\(indexPath.item)!")

}

您还可以使用故事板来执行操作