Enlace IBOutlet al controller de vista incorporado

Tengo una vista de iPad compleja que administro al tener varios controlleres de vista. Anteriormente (antes de iOS6 / XCode 4.5) hice esto asignando mis controlleres de vista en el código y conecté varias vistas a los mismos a través de enlaces a la vista principal.

Lo que me gustaría hacer es usar las vistas de contenedor nuevo para incrustar los controlleres de vista en el file de storyboard. Parece que no puedo hacer un enlace IBOutlet al controller de vista incorporado al controller maestro.

¿Es posible hacer esto? ¿O para recuperar el controller embedded a través de una label o algo en el código?

Esta pregunta es ESPECÍFICAMENTE sobre el uso de vistas de contenedor.

No estoy seguro de lo que quieres decir con "recuperar el controller integrado". Cuando desee utilizar un controller, utilice el método UIStoryboard, instanciarseViewControllerWithIdentifier :, utilizando el identificador que le da al controller en IB. También puede utilizar performSegueWithIdentifier: sender: method (que también instanció el controller de vista). Debe consultar la sección "Uso de controlleres de vista en su aplicación" en los documentos de Apple. También hace reference al hecho de que los controlleres de vista secundarios se crean al mismo time que el controller de contenedor.

Después de la edición: si incrusta una vista de contenedor en otro controller de vista, el controller de esa vista integrada se puede hacer reference desde el controller que contiene self.childViewControllers (que será una matriz, de modo que si hay una sola, puede getla con lastObject) .

Otra opción para algunos casos es capturar el controller embedded usando -prepareForSegue:sender:

Por ejemplo, si tengo un UINavigationController embedded dentro de un CustomContainerViewController , puedo nombrar el embed segue embedContentStack en el storyboard y capturarlo en CustomContainerViewController vía

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString:@"embedContentStack"]) { // can't assign the view controller from an embed segue via the storyboard, so capture here _contentStack = (UINavigationController *)segue.destinationViewController; } } 

Aquí hay otro hilo al respecto: Controlador de vista de contenedor de acceso desde iOS principal

Se proponen mantener una reference en prepareForSegue o search el viewController embedded en self.childViewControllers