如何让UINavigationController的导航栏显示在底部?

发布于 2024-11-04 08:46:36 字数 104 浏览 4 评论 0原文

有没有办法让 UINavigationController 的默认导航栏显示在底部而不是顶部? 我知道有一个 UIToolbar 可以显示在底部,但它是特定于每个视图的,并且不带有“后退”按钮。

Is there any way to make the default navigation bar of an UINavigationController display at the bottom instead of the top?
I know that there is an UIToolbar that can be displayed at the bottom, but that one is specific to each view and does not carry the "back" button.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

听风念你 2024-11-11 08:46:36

如果您使用 NIB 创建视图,则相当简单 - 在属性 -> 底部栏中选择导航栏。如果没有,那么您应该直接访问导航栏并更改其坐标。在您的视图控制器中:

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

其中 x 和 y 是放置导航栏的坐标。

If you create your view using a NIB, then it is rather simple - select navigation bar in attributes->bottom bar. If not then you should access navigation bar directly and change its coordinates. In your view controller:

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

where x and y are coordinates to place your navigation bar.

酷到爆炸 2024-11-11 08:46:36

试试这个:

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];  

Try this :

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];  
戴着白色围巾的女孩 2024-11-11 08:46:36

我认为可以,但我认为苹果不会批准它

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

}

I think you can but i don't think it will approved by Apple

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

}
短叹 2024-11-11 08:46:36

这是快速版本:

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)

Here is the swift 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)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文