
正文
在UIViewController中获得Container View里的embed viewController的引用
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
When you want to use a controller you use the UIStoryboard method instantiateViewControllerWithIdentifier:, using the identifier that you give to the controller in IB,but this method will create a new instance of the UIViewController.
You can also use the performSegueWithIdentifier:sender: method (which also instantiated the view controller). You should check out the "Using View Controllers in Your App" section in the Apple docs. It also makes reference to the fact that child view controllers are instantiated at the same time as the container controller.
- (void) prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
{ // -- Master View Controller
if ([segue.identifier isEqualToString:@"embedViewController1"])
{
self.frontViewController = segue.destinationViewController;
self.frontViewController.delegate = self;
NSLog(@"front segue %d",self.frontViewController.sliderButton.tag);
// ...
}
// -- Detail View Controller
else if ([segue.identifier isEqualToString:@"embedViewController2"])
{
self.backViewController = segue.destinationViewController;
// ...
NSLog(@"back segue");
}
}
After edit: If you embed a container view in another view controller, that embedded view's controller can be referenced from the containing controller with self.childViewControllers (which will be an array, so if there is just one, you can get it with lastObject).







