我有CollectionViewController,当我试图点击单元格并导航到相应的ViewControllers时它不能正常工作。我可以解决这个问题。
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let cell:AddOptionCollectionViewCell = collectionView.cellForItem(at: indexPath) as! AddOptionCollectionViewCell
if (cell.name.text == "CONTRAST"){
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "ContrastViewController") as! ContrastViewController
self.navigationController?.pushViewController(newViewController, animated: true)
}
答案 0 :(得分:6)
我认为这个问题是由于CollectionViewController类的导航堆栈的值为零。 因此,首先转到storyboard并选择CollectionViewController类并将NavigationController嵌入其中。在尝试并运行之后,它将起作用。
一切顺利。
答案 1 :(得分:2)
在我的情况下,我错误地将tearDown
添加到MainViewController
而不是将其添加到window.rootViewController
,然后将导航用作UINavigationController
。
在rootViewController
,应该是:
SceneDelegate.swift