Esto parecía bastante simple cuando lo configuré, pero no puedo explicar por qué este espacio está presente entre la barra de estado y la barra de navegación. Además, la vista contenida parece que puede alinearse correctamente, y es solo la barra de navegación la que se desplaza hacia abajo. La brecha se parece al tamaño de la barra de estado, así que espero que tenga algo que ver con eso, pero no sé qué.UINavigationController tiene un espacio de barra de estado adicional en la parte superior
Este es el código para configurar el controlador de navegación:
- (void)viewDidLoad
{
[super viewDidLoad];
advancedVC = [[AdvancedSearchFormVC alloc] initWithNibName:@"AdvancedSearchForm" bundle:nil];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:advancedVC];
nav.navigationBar.tintColor = [UIColor defaultNavBarTint];
nav.navigationBar.topItem.title = NSLocalizedString(@"SearchTitle", nil);
UIBarButtonItem *searchButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"SearchButton", nil) style:UIBarButtonItemStylePlain target:self action:@selector(refreshPropertyList:)];
nav.navigationBar.topItem.rightBarButtonItem = searchButton;
self.view = nav.view;
}
El RootViewController utiliza una vista desde un archivo xib, donde he simulado la barra de estado, la barra de navegación, y la barra de pestañas.
Tenga en cuenta que esta es un área donde existen diferencias entre iOS 5 y versiones anteriores. Si usa el diseño "enlatado" para el controlador de navegación, es bastante portátil, pero si lo ha personalizado del todo, las cosas saltan bastante entre las dos versiones. (Nunca he descifrado cuál es la diferencia, pero lo que estás mostrando es típico para el código iOS 4 que se ejecuta en iOS 5.) –
ver esta primera respuesta a esta pregunta http://stackoverflow.com/questions/5850705/why-do-navigation-appear-20-pixels-below-status-bar-in-the-view – CarmeloS