Question

Y at-il moyen de faire la barre de navigation par défaut d'un affichage UINavigationController au fond au lieu du sommet? Je sais qu'il ya un UIToolbar qui peut être affiché en bas, mais que celui-ci est spécifique à chaque vue et ne porte pas sur le bouton « retour ».

Était-ce utile?

La solution

Si vous créez votre vue à l'aide d'un NIB, il est assez simple - sélectionnez Barre de navigation dans attributes-> barre inférieure. Sinon, vous devez accéder à la barre de navigation directement et changer ses coordonnées. Dans votre contrôleur de vue:

CGRect oldRect = self.navigationController.navigationBar.frame;
self.navigationController.navigationBar.frame = CGRectMake(x, y, oldRect.width, oldRect.height);

où x et y sont coordonnées pour placer votre barre de navigation.

Autres conseils

Essayez ceci:

bottomNav = [[UINavigationBar alloc] initWithFrame:CGRectMake(0.0,  self.view.frame.size.height - 20, self.view.frame.size.width, 44.0)];  
bottomNav.barStyle = UIBarStyleBlackOpaque;  
[self.parentViewController.view addSubview:bottomNav];  

Je pense que vous pouvez, mais je ne pense pas qu'il sera approuvé par Apple

@implementation UINavigationBar (CustomBar)
- (void)drawRect:(CGRect)rect {
    self.frame = CGRectMake(0, 436, 320, 44);

}

Voici la version rapide:

var bottomNav = UINavigationBar(x: 0, y: view.frame.size.height - 20, w: view.frame.size.width, h: 44)
bottomNav.barStyle = UIBarStyle.Black
parentViewController?.view.addSubview(bottomNav)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top