create iphone ios uiview uiviewcontroller addsubview

iphone - create - ¿Por qué mi subvista UIView no se muestra dentro del padre?(código adjunto)



swift 4 create view programmatically (1)

¿Por qué mi UIView personalizado no se UIView dentro del contenedor UIView de su padre? Así que lo que tengo es:

  • MainViewController: tiene un UIView " customViewContainer " (que no ocupa toda la pantalla), y
  • CustomView - es una UIView con un archivo XIB - es la UIView aquí que cuando se procesa (con AspectFit) se está mostrando fuera de los límites del " customViewContainer " principal

El código utilizado para configurar la vista personalizada es este extracto de MainViewController:

<< corte - ver Update2 abajo >>

Entonces, ¿no puedo ver por qué la vista CustomView se representa de una manera que es más grande en el área que el customViewContainer principal? Lo que quiero es que la customview ajuste completamente al " customViewContainer " principal según el AspectFit tipo AspectFit .

Gracias

EDITAR 1 (aclaración adicional): si "recorte subvistas" en la vista principal, entonces recorta las cosas, pero lo que realmente necesito es representar la vista personalizada dentro del área de la vista principal (no toda el área de la pantalla). Así que necesito (a) el centro de la vista personalizada para estar en el centro de la vista primaria, y (b) la vista personalizada para AspectFit en la vista primaria correctamente. ¿Algunas ideas?

EDIT 2 - Actualizar

perdón - cometió un error de copiar / pegar con el código en la pregunta original - parece que no puede editarlo, así que pondré una versión correcta a continuación - para aclarar:

MainViewController : tiene un UIView " containerView " (que no ocupa toda la pantalla), y CustomView - es un UIView con un archivo XIB - es el UIView aquí que cuando se procesa (con AspectFit ) se está AspectFit fuera de los límites del padre " containerView "

Con el siguiente código, ¿tiene sentido ahora? El motivo de este código es que tengo un UIView personalizado, PERO tengo un archivo XIB asociado, así que esta fue la única manera de obtener mi vista de MainController para poder usarlo. Es decir, tener una vista de contenedor en la view MainController y luego agregar mediante programación el CustomView en la vista de contenedor.

Re "Así que configura el marco o el centro de la vista que estás agregando para que sea lo que quieres que sea". ¿Estás diciendo que tengo que configurar mediante programación / manualmente la dimensión de CustomView para que sea lo que quiero (en relación con el contenedor contenedor primario)?

Lo que esperaba era que hubiera una forma de utilizar la configuración de diseño declarativo para poder decir "Cargar la vista personalizada desde su archivo XIB y el aspecto. Colocar esta vista en el self.containerView", sin embargo, estoy empezando a preguntarme ¿Si esto es posible?

CÓDIGO ACTUALIZADO ABAJO (cometió un error en la pregunta original cuando lo copié / pegué y cambié los nombres de las variables, etc.)

- (void)viewDidLoad { [super viewDidLoad]; // Load the custom Altimeter View into this UIControllerView''s container UIView for it NSArray *nibs = [[NSBundle mainBundle] loadNibNamed:@"Customview" owner:self options:nil]; for (NSObject *obj in nibs) { if ( [obj isKindOfClass:[Customview class]]) { Customview *cv = (Customview*)obj; [self.containerView addSubview:cv]; break; } } // UI Layout self.containerView.layer.borderWidth = 2; self.containerView.layer.borderColor = [[UIColor redColor] CGColor]; }


Compruebe si la propiedad "Subvistas de recorte" del elemento primario en el archivo IB está marcada.

Creo que el código equivalente es self.view.clipsToBounds = YES .

si este es NO , las subvistas que dibujan afuera serán visibles como si estuvieran dibujadas en el padre.