Моя раскадровка выглядит следующим образом
Это то, что я пробовал!
В приведенном ниже коде picsContainerVC.vcContainer
равно nil
. Не только просто vcContainer
, но и все остальные @IBOutlet
s Итак, на указанной линии происходит сбой.
У меня есть эти два @IBOutlet
в 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)