如何在 didSelectItemAt indexPath 函数下显示 ViewController? (没有故事板)
Posted
技术标签:
【中文标题】如何在 didSelectItemAt indexPath 函数下显示 ViewController? (没有故事板)【英文标题】:How to show ViewController under the didSelectItemAt indexPath function ? (without storyboard) 【发布时间】:2019-08-25 16:24:38 【问题描述】:周末愉快。我有关于在 didSelectItemAt indexPath 函数下的问题我想去新的视图控制器,它是显示细节,每个单元格必须有不同的视图控制器(它会根据来自协议的数据而变化)。我尝试了很多方法来做到这一点,但我无法弄清楚。我调用了当前和推送视图控制器代码,但它也不起作用,因为 navigationController 代码不能在 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 必须使用非零布局参数初始化'。
所以我无法解决它。我该如何解决它,请帮助我。祝你工作愉快!
【问题讨论】:
【参考方案1】:这是因为HomeController
是UICollectionViewController
的子类,如果没有布局,collectionViewController 无法初始化!
所以改用这个初始化器:
let homecon = HomeController(collectionViewLayout: UICollectionViewLayout())
哦,这只是一周的开始。
【讨论】:
感谢您的回答,但当我尝试时,它给了我:警告:尝试呈现 .... 其视图不在窗口层次结构中!。 这是对您发布的错误问题的答案。那是另一个问题,还有另一个原因。如果您需要任何进一步的帮助,请随时提出其他问题。 你是对的。我必须研究那个错误。如果我想不通,让我说你!谢谢。以上是关于如何在 didSelectItemAt indexPath 函数下显示 ViewController? (没有故事板)的主要内容,如果未能解决你的问题,请参考以下文章
如何在Swift中根据json id(意味着indexPath应该与json id匹配)从collectionView didSelectItemAt indexPath pushViewContro
didSelectItemAt 在 SCLAlertView 中不起作用