La aplicación para iPad se compensa con 20 píxeles

Estoy usando el siguiente código para crear una imagen de pantalla de bienvenida. El único problema con el que me encuentro es que la vista aparece 20 píxeles por debajo de la parte superior de la pantalla. Al inspeccionar las propiedades del appFrame, puedo ver que el origen y la altura son incorrectos. Cuando cargo mi próxima vista, ¡se suma a eso 20 píxeles y se convierte en 40 píxeles! ¿Qué estoy haciendo mal aquí? ¿Qué está causando la brecha de 20 píxeles?

CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
UIView *view = [[UIView alloc] initWithFrame:appFrame];
view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
self.view = view;

splashImageView_ = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"splashpage.png"]];

enter image description here

preguntado el 27 de julio de 12 a las 14:07

2 Respuestas

el marco de la pantalla principal es relativo a su supervista, por lo que incluye un desplazamiento de 20 píxeles para la barra de estado. Cuando configura eso como su marco, está diciendo que su vista debe tener un origen 20px por debajo de la parte superior de su supervista

debe establecer el marco de su vista como los límites de la pantalla

Respondido 27 Jul 12, 14:07

Un desplazamiento de 20 px casi siempre debería gritar la barra de estado. - eric brotto

Cambié mi código a [[UIScreen mainScreen] bounds]; que ahora muestra correctamente el origen como 0,0 y el tamaño como 1024x768 pero todavía veo el espacio en blanco. Verifiqué que en mi NIB la ventana principal tiene la barra de estado establecida en ninguno. - atljoe

¿Cómo estás agregando spashImageView? - watson12

puede configurar la propiedad "Barra de estado inicialmente oculta" en "SÍ" en el archivo Info.plist en su aplicación.

iOS lo quitará por ti y reajustará el tamaño de tu pantalla

Respondido 27 Jul 12, 15:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.