ios - containerview - Establecer el marco de un controlador de navegación agregado como un controlador de vista infantil
use container view swift 4 (1)
En realidad, funciona si haces esto en viewDidLoad
inmediatamente después de agregar el controlador de vista secundaria al padre:
_navController.view.frame = CGRectInset(self.view.bounds, 20, 20);
Estoy tratando de agregar un UINavigationController
como un controlador de vista hijo y luego le doy un marco más pequeño que su padre. Sin embargo, cambiar el marco del controlador de navegación no cambia correctamente el marco del controlador de vista raíz del controlador de navegación.
En viewDidLoad
RootController *rootController = [[RootController alloc] init];
_navController = [[UINavigationController alloc] initWithRootViewController:rootController];
[rootController release];
[self addChildViewController:_navController];
[self.view addSubview:_navController.view];
[_navController didMoveToParentViewController:self];
Luego, en viewWillAppear:
, viewWillAppear:
:
CGRect bounds = self.view.bounds;
bounds.origin.x = 20;
bounds.origin.y = 20;
bounds.size.width = bounds.size.width - 20;
bounds.size.height = bounds.size.height - 20;
_navController.view.bounds = bounds;
Mientras la barra de navegación está colocada correctamente, el fondo blanco del controlador de vista raíz no. ¿Qué estoy haciendo mal exactamente? Gracias por tu ayuda.