gpt4 book ai didi

ios - 添加状态栏后导航栏未重新定位

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:10 25 4
gpt4 key购买 nike

我有一个导航栏定位问题,似乎是在 iOS6 中出现的。
它的行为在很多方面类似于某些用户在旋转某些 View 时遇到的问题

应用程序有启动画面,全屏显示(通过将Hide statusbar during application launch设置为True实现)

然后在我的主视图 Controller 的 viewDidLoad 中,以下行将状态栏添加回应用程序:

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

这会将 StatusBar 添加到应用程序,并按预期将 View 向下移动 20pt。但是,NavigationBar 保持原样,在 StatusBar 下方,下方有一个 20pt 的毛刺。

The glitch created by adding statusBar

在 iOS6 之前,我曾经通过添加以下代码行来解决这个问题:

[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, [[UIScreen mainScreen] bounds].size.height-20);

然而,现在这行不通了。

一些研究表明,在调用 viewDidLoad 时,keyWindow.frame 的大小和原点都是 {0,0},更改它没有任何效果.

将上面提到的两行插入 viewDidAppear 时,应用启动时我会得到相同的行为。然而,当我移动到另一个 View 并返回到第一个 View 时,keyWindow.frame 的更改产生了预期的效果,并且 NavigationBar 最终位于它应该在的位置。

那么我的问题是:当 StatusBar 最初隐藏时,如何使 NavigationBar 在将 StatusBar 添加到 iOS 应用程序后获得正确的位置?

最佳答案

改为在 viewWillAppear 上调用 setStatusBarHidden:NO。

关于ios - 添加状态栏后导航栏未重新定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14773531/

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