with from custom creating create objective-c cocoa-touch uiview uiviewcontroller interface-builder

objective c - from - Interface Builder: Redimensionar vista desde NIB



init xib swift 4 (1)

Cuando quiero asegurarme de que la vista cubre toda la pantalla, hago algo como esto:

- (void) viewWillAppear: (BOOL) animated { [super viewWillAppear:animated]; [[self view] setFrame:[[UIScreen mainScreen] bounds]]; }

Se siente como un truco, así que lo hago solo como último recurso, cuando no puedo tener la vista para comportarme de otra manera :)

Tengo un UIViewController personalizado y una vista correspondiente en un archivo de punta. La vista se agrega a la ventana UI directamente.

[window addSubview:customViewController.view];

Los tamaños de la ventana y la vista son los predeterminados ( 480x320 y 460x320 correspondientemente).

Cuando creo CustomViewController dentro del archivo nib y selecciono "Redimensionar vista desde NIB" en la pestaña Atributos IB todo funciona bien.

Pero cuando creo CustomViewController programmmatically con el mensaje initWithNibName , la vista no se coloca correctamente en la ventana. Hay una franja vacía en la parte inferior. Su altura es 20px. Veo que se debe al desplazamiento de la barra de estado.

IB maneja eso con "Redimensionar vista desde NIB" . ¿Cómo emular eso programáticamente?

Parece que IB usa alguna subclase personalizada de UIViewController. Entonces, la pregunta: ¿cómo se implementa allí "Resize View From NIB"?