如何启动ViewController

时间:2019-02-11 14:24:21

标签: ios swift uicollectionviewcell

我正在研究本教程:https://www.letsbuildthatapp.com/course_video?id=4562(您可以下载源代码)

使用以下代码从appdelegate启动VC:

    window = UIWindow()
    window?.rootViewController = StretchyHeaderController(collectionViewLayout: StretchyHeaderLayout())

但是,我想从另一个ViewController而不是appDelegate启动StretchyHeaderController。

这是我尝试过的:

let newViewController = StretchyHeaderController()
self.navigationController?.pushViewController(newViewController, animated: true)

但是什么也没发生。如何启动StretchyHeaderController?

这是shwat StretchyHeaderController的样子:

class StretchyHeaderController: UICollectionViewController, UICollectionViewDelegateFlowLayout {

2 个答案:

答案 0 :(得分:0)

如果要从另一个View Controller显示StretchyHeaderController,请确保View Controller嵌入在UINavigationController中。

否则什么也不会发生。

尝试

print(self.navigationController?)

在输入代码之前,请确保未打印nil

答案 1 :(得分:0)

您必须使用UINavigationController将viewCOntroller推入导航堆栈。如果您没有使用UINavigationController,则可以显示viewController

 let viewController = StretchyHeaderController(collectionViewLayout: StretchyHeaderLayout())

 self.present(viewController, animated: true, completion: nil)