我正在研究本教程: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 {
答案 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)