Search code examples
iosobjective-cswiftuiviewcontrolleruicontainerview

Access Container View Controller from Parent iOS


in iOS6 I noticed the new Container View but am not quite sure how to access it's controller from the containing view.

Scenario:

example

I want to access the labels in Alert view controller from the view controller that houses the container view.

There's a segue between them, can I use that?


Solution

  • Yes, you can use the segue to get access the child view controller (and its view and subviews). Give the segue an identifier (such as alertview_embed), using the Attributes inspector in Storyboard. Then have the parent view controller (the one housing the container view) implement a method like this:

    - (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
       NSString * segueName = segue.identifier;
       if ([segueName isEqualToString: @"alertview_embed"]) {
           AlertViewController * childViewController = (AlertViewController *) [segue destinationViewController];
           AlertView * alertView = childViewController.view;
           // do something with the AlertView's subviews here...
       }
    }