Tengo varios UIViewControllers, cargados a través de UINavigationController, donde anulo loadView y configuro una vista personalizada para mostrar. Tengo problemas para configurar los marcos de algunas de las subvistas, y tal vez la vista en sí misma. Creo que UINavigationController o UIViewController pueden forzar su vista para llenar la pantalla cuando se muestran.¿UIViewController o UINavigationController configuran el tamaño de su vista?
Me pregunto si y cuando el tamaño de la vista está configurado. Y si está sucediendo, ¿está configurando el marco de la vista o haciéndolo de otra manera?
Gracias.
Actualización: acabo notado mientras se trabaja a través de este es que hago una nueva UINavigationController, con este método loadView:
- (void)loadView
{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10.0f, 10.0f, 10.0f, 10.0f)];
[view setBackgroundColor:[UIColor redColor]];
self.view = view;
[view release];
}
puedo obtener una vista roja ocupando toda la pantalla, a excepción de la situación barra y encabezado. ¿Cuándo se cambia el tamaño de mi vista para llenar la pantalla? ¿Y qué tamaño debería usar al crear la vista?
Gracias, por la aclaración. Al cargar mi vista en un controlador de vista loadView, cuando lo presiono a través de un UINavigationController, ¿solo necesito establecer el marco como CGRectMake (0.0, 0.0, 320.0, 416.0)? Como en el caso de que no sea necesario compensar en la coordenada de origen y del marco para UINavigationBar o la barra de estado? – Ryan
La parte inferior de NavBar se convierte en el nuevo origen X, Y para los controladores de vista, solo necesita compensar la altura ajustada. Para estar seguro de las dimensiones, utilice 'NSLog (@" wxh =% fx% f ", self.view.frame.size.width, self.view.frame.size.height);' – Wolfert
Gracias, eso lo aclara para mi. Todavía me pregunto cuándo cambiará la vista. Porque incluso si configuro el tamaño incorrecto en loadView se cambia para que tenga el tamaño correcto. Voy a aceptar tu respuesta, ya que me pone en marcha. Gracias de nuevo. – Ryan