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

10-13 09:33