addChildViewController ทำอะไรได้จริง?
ฉันเพิ่งจุ่มเท้าของฉันเป็นครั้งแรกในการพัฒนา iOS และหนึ่งในสิ่งแรกที่ฉันต้องทำคือใช้ตัวควบคุมมุมมองคอนเทนเนอร์แบบกำหนดเอง - เรียกได้SideBarViewControllerว่าเปลี่ยนจากตัวควบคุมมุมมองเด็กที่เป็นไปได้หลายตัว แสดงเกือบจะเหมือนกับTab Bar Controllerมาตรฐาน (มันค่อนข้างเป็นTab Bar Controllerแต่มีเมนูด้านข้างที่ซ่อนได้แทนที่จะเป็นแถบแท็บ) ตามคำแนะนำในเอกสารของ Apple ฉันโทรหาaddChildViewControllerทุกครั้งที่ฉันเพิ่ม ViewController ลูกลงในคอนเทนเนอร์ของฉัน รหัสของฉันสำหรับการสลับตัวควบคุมมุมมองเด็กปัจจุบันที่แสดงโดยSideBarViewControllerมีลักษณะดังนี้: - (void)showViewController:(UIViewController *)newViewController { UIViewController* oldViewController = [self.childViewControllers objectAtIndex:0]; [oldViewController removeFromParentViewController]; [oldViewController.view removeFromSuperview]; newViewController.view.frame = CGRectMake( 0, 0, self.view.frame.size.width, self.view.frame.size.height ); [self addChildViewController: newViewController]; [self.view addSubview: newViewController.view]; } จากนั้นฉันก็เริ่มพยายามหาว่าaddChildViewControllerที่นี่ทำอะไรและฉันก็รู้ว่าฉันไม่รู้ นอกจากการติดใหม่ViewControllerใน.childViewControllersอาร์เรย์แล้วดูเหมือนว่าจะไม่มีผลกระทบใด ๆ การดำเนินการและช่องทางจากมุมมองของผู้ควบคุมเด็กไปยังตัวควบคุมเด็กที่ฉันตั้งไว้บนกระดานเรื่องราวยังคงทำงานได้ดีแม้ว่าฉันจะไม่เคยโทรเลยaddChildViewControllerก็ตามและฉันนึกไม่ออกว่าจะมีผลกระทบอะไรอีก อันที่จริงถ้าฉันเขียนรหัสของฉันใหม่เพื่อไม่เรียกaddChildViewControllerและมีลักษณะเช่นนี้แทน …