如何在屏幕上移动导航栏位置

Posted

技术标签:

【中文标题】如何在屏幕上移动导航栏位置【英文标题】:How to shift navigation bar position on the screen 【发布时间】:2011-10-28 16:44:47 【问题描述】:

我在我的应用程序委托中添加了以下代码,以在状态栏下方创建一个部分(如代码后的屏幕截图所示)

UIWindow *statusWindow = [[UIWindow alloc] initWithFrame:CGRectMake(0, 20, 320, 20)];
statusWindow.windowLevel = UIWindowLevelStatusBar;
statusWindow.hidden = NO;
statusWindow.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.7];
[statusWindow makeKeyAndVisible];

如何向下移动导航栏以使黑色覆盖层不与导航栏重叠?本质上,我想在下面的屏幕截图中实现这样的效果:

我们将不胜感激任何有关这方面的建议或资源。

【问题讨论】:

【参考方案1】:

有一些关于这个主题的建议here,但其中一个 cmets 确实指出你不应该直接将导航栏弄乱 - 值得查看 Apple 指南以确保你的应用不会被拒绝了。

【讨论】:

是的,不要触摸状态栏。 Apple 会对您的提交路径做出不愉快的事情。【参考方案2】:

更改 NavigationController 的 frame 属性。虽然你应该听哈夫的话,但他说的是实话。 Apple 很可能会给你一个臭眼,让你的应用陷入无限拒绝的慢车道。

【讨论】:

以上是关于如何在屏幕上移动导航栏位置的主要内容,如果未能解决你的问题,请参考以下文章

仅在折叠位置时如何设置 Bootstrap 5 导航栏的样式?

滚动时如何在不同屏幕上调整导航栏的大小

导航栏菜单在小屏幕上不垂直对齐和汉堡菜单的位置

UIScrollView 在导航和状态栏下方移动

(引导 3)如何让小屏幕上的导航栏与大屏幕上的导航栏一样

隐藏导航栏并移动表格视图部分标题