gpt4 book ai didi

ios - setStatusBarHidden :NO after XIB load covers UINavigationBar

转载 作者:技术小花猫 更新时间:2023-10-29 10:59:41 25 4
gpt4 key购买 nike

setStatusBarHidden:NO 设置为 View 加载时,UINavigationBar 和其他元素立即对齐在 StatusBar 下方。但是,当 setStatusBarHidden:NO 设置为 View 加载时,UINavigationBar 会被部分覆盖。

StatusBar 必须在载入上述 View 后显示出来,但如何才能不遇到上述问题呢?

最佳答案

我在我的代码中发现了一个 hack,但不记得或找不到它的来源。诀窍是通过隐藏和重新显示来刷新导航栏:

[self.navigationController setNavigationBarHidden:YES animated:NO];
[self.navigationController setNavigationBarHidden:NO animated:NO];

在我的代码中,函数如下所示:

- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

[self.navigationController setNavigationBarHidden:YES animated:NO];
[self.navigationController setNavigationBarHidden:NO animated:NO];
}

但是,警告,这是一个 hack,目前我正在努力解决一些似乎源自此代码的错误(导航项不匹配导航内容)。但由于它在某些地方确实对我有用,所以我想我会提到它。

编辑:我想我在这里找到了最初的帖子: How do I get the navigation bar in a UINavigationController to update its position when the status bar is hidden?

GL,奥德

关于ios - setStatusBarHidden :NO after XIB load covers UINavigationBar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5228444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com