iOS | Cra sh | Вставить ViewController программно не работает - PullRequest
0 голосов
/ 11 апреля 2020

Моя раскадровка выглядит следующим образом

enter image description here

Это то, что я пробовал!

В приведенном ниже коде picsContainerVC.vcContainer равно nil. Не только просто vcContainer, но и все остальные @IBOutlet s Итак, он падает на упомянутой линии.

У меня есть эти два @IBOutlet s в PicsContainerV C

// MARK: - Definitions and Declarations
var vcTitle: String = ""
@IBOutlet weak var navBackButton: UIButton!
@IBOutlet weak var vcContainer: UIView!

И код для вставки здесь:

        // 1. Get the MyPicturesVC
        let collageStoryboard = UIStoryboard(name: "Collage", bundle: nil)
        let myPicsVC = collageStoryboard.instantiateViewController(withIdentifier: "StoryID_MyPicturesVC") as! MyPicturesVC
        myPicsVC.selfProfile = false  //Some variable

        // 2. Embed the MyPicturesVC instance in PicsContainerVC
        let commonStoryboard = UIStoryboard(name: "Commons", bundle: nil)
        let picsContainerVC = commonStoryboard.instantiateViewController(withIdentifier: "StoryID_PicsContainerVC") as! PicsContainerVC
        picsContainerVC.vcTitle = "Your Collage"
        picsContainerVC.addChild(myPicsVC)

        // This below line is crashing.
        myPicsVC.view.frame = CGRect(x: 0, y: 0, width: picsContainerVC.vcContainer.frame.width, height: picsContainerVC.vcContainer.frame.height)

        // If above line is not there, this line crashes  because of picsContainerVC.vcContainer.
        picsContainerVC.vcContainer.addSubview(myPicsVC.view)
        myPicsVC.didMove(toParent: picsContainerVC)

        // 3. Show with UINavigationController
        guard let navCon = self.navigationController else { return }
        navCon.pushViewController(picsContainerVC, animated: true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...