有没有办法让UINavigationController
显示屏的默认导航栏位于底部而不是顶部?
我知道有一个UIToolbar
可以显示在底部,但是那个是特定于每个视图而不带“后退”按钮。
答案 0 :(得分:7)
如果使用NIB创建视图,则相当简单 - 在属性 - >底部栏中选择导航栏。如果没有,那么您应该直接访问导航栏并更改其坐标。在视图控制器中:
CGRect oldRect = self.navigationController.navigationBar.frame;
self.navigationController.navigationBar.frame = CGRectMake(x, y, oldRect.width, oldRect.height);
其中x和y是放置导航栏的坐标。
答案 1 :(得分:3)
试试这个:
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];
答案 2 :(得分:0)
我认为你可以,但我认为它不会被Apple批准
@implementation UINavigationBar (CustomBar)
- (void)drawRect:(CGRect)rect {
self.frame = CGRectMake(0, 436, 320, 44);
}
答案 3 :(得分:0)
这是swift版本:
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)