ios - 在隐藏状态栏的情况下更改应用程序时自动调整 View

标签 ios objective-c uiviewcontroller uistatusbar

我有一个 UIViewController 有条件地隐藏应用程序中的状态栏,但我遇到的一个问题是,当我隐藏了状态栏并切换到另一个应用程序时状态栏, View 向上移动 20 像素以补偿丢失的状态栏,即使我已经补偿了它。

我像这样隐藏状态栏:

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];

并再次显示:

[[UIApplication sharedApplication] setStatusBarHidden:NO];

我也试过将它添加到我的隐藏中:

[self setWantsFullScreenLayout:YES];

这是我的节目:

[self setWantsFullScreenLayout:NO];

为什么我的 View 会在我切换应用程序时自动调整?

最佳答案

您只需补偿显示的 StatusBar

默认情况下, View 顶部的 20 像素将位于状态栏下方。

当您setStatusBarHidden:YES 时,您无需将 View 向上移动 20px,除非您在 setStatusBarHidden:NO 时已将其向下移动 20px。

关于ios - 在隐藏状态栏的情况下更改应用程序时自动调整 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15443869/

相关文章:

ios - 带有向下滑动动画的自定义推送 View Controller

ios - 为什么我不能调用另一个类的方法

ios - 无法使用 Swift 在 Xcode 中使用 Parse 1.7.2 和 Facebook SDK 4.1 创建新用户

objective-c - 为什么自定义并发队列上的 dispatch_sync 会死锁

ios - UIDocumentInteractionController 的打开方式功能?

objective-c - 我如何检查 ALAsset 是一个图像。我如何从 ALAssetGroup 中分离图像(.png)文件

objective-c - 如何使用 UISilder 在 SubView 中添加和删除 UIButtons?

objective-c - IKImageView 打印时图像不可见

android - Qt/QML SwipeDelegate 在移动设备(Android、iOS)上无法正常工作

Ios:未调用委托(delegate)方法