2011-03-19 2 views
1

J'ai un ModalView appelé avec:iPhone - affichage NavigationBar sur un plein écran modalView fait aller vers le bas avec espace transparent sur le dessus

PreferencesController *nextWindow = [[[PreferencesController alloc] initWithNibName:@"Preferences" bundle:nil] autorelease]; 
    nextWindow.wantsFullScreenLayout = YES; 
    UINavigationController* navController = [[[UINavigationController alloc] initWithRootViewController:nextWindow] autorelease]; 

    [self presentModalViewController:navController animated:YES]; 

Il est initialisés comme ceci:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    self.navigationController.navigationBarHidden = YES; 
    self.title = @"Options"; 
} 

Quand je mets , sur un bouton clic (pour test):

- (IBAction)ClickIt:(id)sender { 
    self.navigationController.navigationBarHidden = NO; 
} 

ensuite, la barre de navigtion est affiché, mais l'ensemble vue descend avec un espace transparent sur le dessus de la vue, avec une taille d'une barre d'état. Les éléments simulés dans les xibs de la barre d'état sont désactivés, comme pour tous les autres éléments simulés.
En raison de cet espace, le contenu inférieur de la vue disparaît de l'écran.
J'ai essayé de forcer self.wantsFullScreenLayout = YES après avoir réglé navigationBarHidden = NO mais cela ne change rien.

Pour plus d'informations, si je change viewDidLoad comme ceci:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    self.navigationController.navigationBarHidden = NO; 
    self.title = @"Options"; 
} 

le problème est le même sans avoir à cliquer sur le bouton de test.

Quel pourrait être le problème?

+1

Peut-être liée à [cette question] (http://stackoverflow.com/questions/2393868/how-do-i-get-the-navigation-bar-in-a-uinavigationcontroller-to-update-its- positio). Avez-vous essayé les paramètres de la propriété wantsFullScreenLayout sur le contrôleur de navigation? – hennes

+0

@hennes: merci, c'était le bon lien avec mon proble. J'ai défini [[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation: UIStatusBarAnimationNone]; sur la charge de l'application et le problème a disparu. – Oliver

+0

@hennes: pourriez-vous poster un commentaire en réponse, car je pourrais l'accepter? – Oliver

Répondre

1

Comme indiqué dans this question, vous devrez peut-être masquer la barre d'état avant de présenter votre contrôleur de vue plein écran, par exemple directement sur le chargement de l'application.

Questions connexes