Tengo una aplicación basada en UITabBar que funciona muy bien. Sin embargo, bajo ciertas circunstancias, estoy mostrando un UIViewController diferente. Ahora lo que me molesta es que tengo que ajustar el marco para la punta de prueba (y solo la punta de prueba!) Para que se muestre correctamente. (De lo contrario, la vista está debajo de la barra de estado).Offset en UIWindow addSubview
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
if (condition) {
UIViewController *vc = [[UIViewController alloc] initWithNibName:@"Test" bundle:nil];
// FIXME this should NOT be required
CGRect r = vc.view.frame;
r.origin.y += 20;
vc.view.frame = r;
[window addSubview:vc.view];
[window makeKeyAndVisible];
return;
}
[window addSubview:tabViewController.view];
[window makeKeyAndVisible];
}
Entonces, ¿hay algún problema con la punta de prueba? No puede ser El plumón de prueba funciona como se desea en un nuevo proyecto limpio. Y una nueva punta limpia muestra los mismos síntomas. Entonces algo debe estar mal con la plumilla MainWindow, ¿verdad? Pero el UITabBarController se muestra bien.
Estoy un poco confundido y me estoy quedando sin ideas aquí. ¿Alguna sugerencia de cómo rastrear esto?
Recompensaría dos veces si pudiera :) –
la respuesta definitiva a una de las rarezas comunes más molestas en el desarrollo de iOS. 5 estrellas, 10/10, volvería a jugar –
No leo toda tu respuesta, pero estoy muy contento con la palabra clave [[UIScreen mainScreen] applicationFrame] –