Wie mache ich die Navigationsleiste einer uinavigationController -Anzeige unten?
-
28-10-2019 - |
Frage
Gibt es eine Möglichkeit, die Standardnavigationsleiste von einem zu machen? UINavigationController
unten anstatt oben anzeigen? Ich weiß, dass es eine gibt UIToolbar
Dies kann unten angezeigt werden, aber dieser ist spezifisch für jede Ansicht und trägt die Schaltfläche "Zurück" nicht.
Lösung
Wenn Sie Ihre Ansicht mit einer NIB erstellen, ist sie ziemlich einfach - wählen Sie die Navigationsleiste in Attributen-> unteren Balken. Wenn nicht, sollten Sie direkt auf Navigationsleiste zugreifen und seine Koordinaten ändern. In Ihrem Ansichtsregler:
CGRect oldRect = self.navigationController.navigationBar.frame;
self.navigationController.navigationBar.frame = CGRectMake(x, y, oldRect.width, oldRect.height);
Wo X und Y Koordinaten sind, um Ihre Navigationsleiste zu platzieren.
Andere Tipps
Versuche dies :
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];
Ich denke, Sie können, aber ich denke nicht, dass es von Apple genehmigt wird
@implementation UINavigationBar (CustomBar)
- (void)drawRect:(CGRect)rect {
self.frame = CGRectMake(0, 436, 320, 44);
}
Hier ist die schnelle Version:
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)