He creado una aplicación de iPhone simple que tiene dos archivos .xib. En el delegado de la aplicación al momento de aplicar lo lanzamiento acabado muestro el primer archivo .xib llamando:No estoy seguro de por qué UIView está siendo empujado por alrededor de 10px
[window addSubview:myView];
y hago lo mismo en una IBAction para un UIButton para cambiar la vista a myView2.
Lo que estoy descubriendo es que hay una barra blanca de alrededor de 10 píxeles cuando ejecuto la aplicación, para ambas vistas. También noté que los botones están desplazados por 10 píxeles (aprox.). Así que tengo la impresión de que la vista se muestra desde 10 píxeles fuera de la pantalla y termina en corto.
¿Alguna idea de por qué esto podría estar pasando, cómo puedo solucionarlo o cómo puedo seguir depurando lo que está pasando? He comprobado mis archivos .xib y están consumiendo toda la altura del dispositivo (es decir, no hay barras blancas), así que esto parece ser un problema dentro de XCode.
EDIT: He reducido el problema un poco. Estoy usando dos métodos para cargar la subvista. Cuando cargo la primera vista dentro de applicationDidFinishLaunching
todo está bien. Sin embargo, si reemplazo los dos mensajes a window
con el método [self originalView]
, todo se vuelve un poco desconcertante.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
//[self originalView]; <- I want to use this instead of the following two lines
// Override point for customization after app launch
[window addSubview:viewController.view];
[window makeKeyAndVisible];
}
-(void)endView{
endV = [[EndViewController alloc] initWithNibName:@"EndView" bundle:nil];
[window removeFromSuperview];
[window addSubview:endV.view];
}
-(void)originalView{
viewController = [[MyAppViewController alloc] init];
[window removeFromSuperview];
[window addSubview:viewController.view];
}
Por lo que puedo ver, siempre estoy llamando a las mismas líneas de código, no importa si es en el interior del applicationDidFinishLaunching
o en [self originalView]
pero parece que window
está resultando ser un objeto diferente.
Todos los ejemplos que he visto usan UINavigationController para mostrar una jerarquía de listas, ¿para esto solo se usa? ¿O puedo usarlo para controlar qué vistas se muestran, incluso si no necesitan una barra de navegación, etc.? –