ios - 在不删除其 View 的情况下隐藏 iOS 中的状态栏

标签 ios objective-c iphone ios7

我想在按下按钮时隐藏我的 iPhone 应用程序中的状态栏,并希望在按下另一个按钮时再次显示它。

我试图通过覆盖 View Controller 中的 -(BOOL)prefersStatusBarHidden 来隐藏状态栏,但这也会从顶部移除它的 View 。

所以在删除这个状态栏时会看到一个跳转。我想做的只是隐藏状态栏上的内容,同时保持状态栏的背景。
例如:您可以在 gmail 应用程序中检查相同的功能。当你在gmail应用中打开侧边栏时,只有状态栏的内容被隐藏,没有跳转。

最佳答案

我在 iOS13 中使用 additionalSafeAreaInsets 属性解决了这个问题。在 iOS13 上,没有其他解决方案对我有用。 隐藏状态 var 时将 additionalSafeAreaInsets 最高值设置为 20,取消隐藏时再次将其设置为 0

对于带缺口的设备,无需更改安全区域插图。仅对其他设备执行此操作。

关于ios - 在不删除其 View 的情况下隐藏 iOS 中的状态栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28192511/

相关文章:

ios - 我可以在 SwiftUI iOS 14 中禁用特定的小部件大小吗

ios - 带 token 身份验证的 NSURLSession

objective-c - 有效地从 NSMutableArray 中删除索引集

objective-c - 将 NSArray 转换为 char** 并返回 c 数组

ios - 向应用商店提交应用程序时出错

iphone - 如何在保存之前检查文件(视频)是否已经在 ALAssetsLibrary(相册)中?

ios - 具有动态单元格内容的 UICollectionView - 让单元格记住状态

ios - Swift 4.2 升级后将 Swift 类桥接到 React Native

ios - VoiceLayer iOS obj c

iphone - 等待 NSThread