from container objective-c xib uicontainerview

objective c - from - Agregue un ContainerView dentro de un UIViewController creado desde.xib



load view from xib swift 4 (2)

Tengo un archivo .xib y quiero agregarlo a una vista de contenedor (para colocar dentro de un ViewController). Desafortunadamente una vista de contenedor solo es desechable por el guión gráfico Pero cuando creo un archivo .xib y busco el controlador de vista de contenedor, no lo encontré. ¿Puede alguien darme consejos sobre cómo lograr mi tarea?


Mira esto:

SelectDateViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"selectDateVCID"]; [self addChildViewController:vc]; [vc.view setFrame:CGRectMake(0.0f, 0.0f, self.selectDateContainerView.frame.size.width, self.selectDateContainerView.frame.size.height)]; [self.selectDateContainerView addSubview:vc.view]; [vc didMoveToParentViewController:self];


Si está utilizando un xib lugar de un storyboard , simplemente puede agregar una vista UIView simple a la xib para que actúe como un contenedor. Luego, en el código, agregue la view de childViewController como una subvista del contenedor. Aquí, he seguido los métodos apropiados de controlador de vista secundaria y he agregado restricciones de diseño para asegurar que su marco se actualice con el marco del contenedor:

- (void)viewDidLoad { [super viewDidLoad]; UIViewController *childViewController = ...; // create your child view controller [self addChildViewController:childViewController]; [self.containerView addSubview:childViewController.view]; [childViewController didMoveToParentViewController:self]; NSArray *horzConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[childView]|" options:0 metrics:nil views:@{@"childView" : childViewController.view}]; NSArray *vertConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[childView]|" options:0 metrics:nil views:@{@"childView" : childViewController.view}]; [self.view addConstraints:horzConstraints]; [self.view addConstraints:vertConstraints]; childViewController.view.translatesAutoresizingMaskIntoConstraints = NO; }