如何在 didSelectItemAt indexPath 函数下显示 ViewController?(没有故事板)



祝你周末愉快。我在didSelectItemAt indexPath函数下有问题,我想去新的视图控制器,它显示详细信息,每个单元格必须有不同的视图控制器(它会根据来自协议的数据而变化)。我尝试了很多方法,但我无法弄清楚。我调用当前和推送视图控制器代码,但它也不起作用,因为导航控制器代码无法在 didSelectItemAt 函数下工作。最后我尝试了一下:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let homecon = HomeController()
homecon.showDetailPage() }

func showDetailPage() {
let newView = pageDetail()
self.present(newView, animated: true, completion: nil)
}

(来自 HomeController 的 showDetailPage 函数)。但是该代码也给出了错误,即

"UICollectionView 必须使用非 nil 布局参数进行初始化"。

所以我解决不了。我该如何解决它,请帮助我。祝你工作愉快!

这是因为HomeControllerUICollectionViewController的子类,如果没有它的布局,集合视图控制器就无法初始化!

因此,请改用此初始值设定项:

let homecon = HomeController(collectionViewLayout: UICollectionViewLayout())

哦,这只是本周的开始。

最新更新