как запустить ViewController - PullRequest
       8

как запустить ViewController

0 голосов
/ 11 февраля 2019

Я работал над этим учебником: https://www.letsbuildthatapp.com/course_video?id=4562 (вы можете скачать исходный код)

VC запускается из appdelegate со следующим кодом:

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

Но яхочу запустить StretchyHeaderController из другого ViewController, а не appDelegate.

Вот что я пробовал:

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

Но ничего не происходит.Как запустить StretchyHeaderController?

Вот как выглядит StretchyHeaderController:

class StretchyHeaderController: UICollectionViewController, UICollectionViewDelegateFlowLayout {

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Вы должны использовать UINavigationController, чтобы поместить viewCOntroller в стек навигации.если вы не используете UINavigationController, вы можете представить viewController

 let viewController = StretchyHeaderController(collectionViewLayout: StretchyHeaderLayout())

 self.present(viewController, animated: true, completion: nil)
0 голосов
/ 11 февраля 2019

Если вы хотите представить StretchyHeaderController из другого View Controller, убедитесь, что View Controller встроен в UINavigationController.

В противном случае ничего не произойдет.

Попробуйте

print(self.navigationController?)

перед вашим кодом и убедитесь, что он не печатает nil.

...