Questo aspetto era abbastanza semplice quando l'ho configurato, ma non posso spiegare perché questo spazio sia presente tra la barra di stato e la barra di navigazione. Inoltre, la vista contenuta sembra essere allineata correttamente, ed è solo la barra di navigazione che viene spostata verso il basso. Il divario sembra la dimensione della barra di stato, quindi mi aspetto che abbia qualcosa a che fare con esso, ma non so cosa.UINavigationController presenta una barra di stato aggiuntiva nella parte superiore
Ecco il codice per impostare il controller di navigazione:
- (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;
}
Il RootViewController utilizza una vista da un file XI ter, dove ho simulato la barra di stato, la barra di navigazione, e la barra delle schede.
Si noti che questa è un'area in cui esistono differenze tra iOS 5 e versioni precedenti. Se si utilizza il layout "in scatola" per il controller di navigazione è abbastanza portatile, ma se lo si è personalizzato, le cose si spostano un po 'tra le due versioni. (Non ho mai capito bene cosa faccia la differenza, ma quello che stai mostrando è tipico per il codice di iOS 4 in esecuzione su iOS 5.) –
vedi questa prima risposta di questa domanda http://stackoverflow.com/questions/5850705/why-do-navigation-appear-20-pixels-below-status-bar-in-the-view – CarmeloS