【问题标题】:How to show ViewController under the didSelectItemAt indexPath function ? (without storyboard)如何在 didSelectItemAt indexPath 函数下显示 ViewController? (没有故事板)
【发布时间】: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 必须使用非零布局参数初始化'。

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

【问题讨论】:

    标签: swift xcode uicollectionview uicollectionviewcell


    【解决方案1】:

    这是因为HomeControllerUICollectionViewController 的子类,如果没有布局,collectionViewController 无法初始化!

    所以改用这个初始化器:

    let homecon = HomeController(collectionViewLayout: UICollectionViewLayout())
    

    哦,这只是一周的开始。

    【讨论】:

    • 感谢您的回答,但当我尝试时,它给了我:警告:尝试呈现 .... 其视图不在窗口层次结构中!。
    • 这是对您发布的错误问题的答案。那是另一个问题,还有另一个原因。如果您需要任何进一步的帮助,请随时提出其他问题。
    • 你是对的。我必须研究那个错误。如果我想不通,让我说你!谢谢。
    猜你喜欢
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多