【发布时间】:2023-03-15 05:53:02
【问题描述】:
我的应用程序中有一个 UINavigationController 和一个 UITabBar。
UINavigationController 有一个半透明的黑色导航栏如下:
在应用委托中:
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];
[[UINavigationBar appearance] setAlpha:0.7];
我还隐藏了状态栏,并在 UINavigationBar 的透明下半部分显示了我自己对状态栏的解释,如下所示:
self.navigationController.view.frame = CGRectMake(0,-22,320,480);
一旦加载应用程序就可以使用:UINavigationbar 的下半部分是透明的,我可以在那里显示我自己的状态指示器。
但是,一旦我点击任何 TabBar 选项卡,然后返回到原始控制器,就会发生 2 件事: 由 UINavigationController 管理的视图被向下移动以从 UINavigationBar 的下半部分开始。 UINavigationBar 不再透明。 这会破坏我的 UI 布局约 20-22 像素。
如何“说服”我的 UI 记住它的原始布局,而不是在选择不同的选项卡时重置为它想要的任何布局?
谢谢。
【问题讨论】:
标签: objective-c coding-style uiview uinavigationcontroller uitabbar