UINavigationController une barre de statut de l'espace dans le haut

Ce semblait assez simple quand je l'ai installé, mais je ne peux pas expliquer pourquoi cet écart est présent entre la barre d'état et la barre de navigation. Aussi, le contenu de l'affichage ressemble, il peut être aligné correctement, et c'est juste la barre de navigation qui est décalée vers le bas. L'écart représente la taille de la barre d'état, donc je m'attends a quelque chose à faire avec elle, mais je ne sais pas quoi.

UINavigationController une barre de statut de l'espace dans le haut

Voici le code pour la configuration de la manette de navigation:

- (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;
}

La rootViewController utilise une vue à partir d'un fichier xib, où j'ai simulé la barre d'état, la barre de navigation et la barre d'onglet.

Notez que c'est un domaine où il existe des différences entre iOS 5 et versions antérieures. Si vous utilisez la "conserve" mise en page pour la manette de navigation, il est assez portable, mais si vous avez personnalisé à toutes les choses de sauter autour un peu entre les deux versions. (Je n'ai jamais tout à fait cloué vers le bas ce qui fait la différence, mais ce que vous faites preuve est typique pour iOS 4 du code qui tourne sur iOS 5.)
voir cette première réponse à cette question stackoverflow.com/questions/5850705/...

OriginalL'auteur Jim | 2012-01-15