gpt4 book ai didi

ios - 切换 setStatusBarHidden :YES to setStatusBarHidden:NO 后调整每个 View 的大小以再次适合

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

我有一个 UIView,我想将其添加到 keyWindow 中,以便它覆盖所有内容(包括 StatusBar)。当我添加 View 时,我使用以下代码删除了状态栏:

[[UIApplication sharedApplication].keyWindow addSubview:aView];
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
aView.frame = [[UIApplication sharedApplication].keyWindow bounds];

一切看起来都符合预期。如果我然后删除 View 并再次添加状态栏,一切都很好。但是,当我旋转我的设备然后删除 View 时出现问题。 UI 现在部分被状态栏覆盖(在本例中为导航栏)。旋转设备会立即调整所有内容的大小,以便 UI 看起来再次正常。

我如何确保 UI(任何 UI!)知道 StatusBar 再次取消隐藏,以便它在 UIView 从 keyWindow 移除后立即自动调整。

无论应用中的 UI 类型如何,该解决方案都应该有效。在这个特定示例中,我碰巧使用了标签栏和导航 Controller ,但情况并非总是如此。

最佳答案

我刚刚解决了这个问题。

在我的情况下,它是由您调用方法的顺序引起的。有时动画也可能与此有关。

例如,在我的情况下:

//调用setStatusBarHidden后调用当前 View Controller

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
[modalPresentedViewController presentModalViewController:self animated:YES];

//在调用 dismiss 方法之前调用 setStatusBarHidden。

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
[modalPresentedViewController presentModalViewController:self animated:YES];

希望对您有所帮助。

关于ios - 切换 setStatusBarHidden :YES to setStatusBarHidden:NO 后调整每个 View 的大小以再次适合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9939405/

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