状态栏不会在 iOS 7 应用程序的放大版本中消失

Posted

技术标签:

【中文标题】状态栏不会在 iOS 7 应用程序的放大版本中消失【英文标题】:Status bar won't go away on scaled up version of iOS 7 app 【发布时间】:2014-05-27 09:42:13 【问题描述】:

我已经尝试了这里建议的所有方法:Status bar won't disappear 无济于事。

我的 iPhone 版本的应用没有显示状态栏,但在我的 iPad 上,运行我的 iPhone 版本的放大版,有一个不会消失的状态栏!

如果它有所作为,我的应用程序的大部分应用程序都使用设备相机。如果您需要更多信息/代码,请随时询问!我的应用程序只有 ios 7,我使用 Xcode 5。另外,我希望整个应用程序中的状态栏消失。

不要在 plist 中建议 UIViewControllerBasedStatusBar——它不起作用。


相关文章

https://***.com/a/18740897/294884

https://***.com/a/21034908/294884

https://***.com/a/20307841/294884

【问题讨论】:

你知道,这个 QA 实际上有很多其他人实际上没有的信息。 (加上 Vike 发起的一场激烈的争论:))实际上,关闭它可能是个坏主意。 如果您认为自己添加了一些新的和有价值的东西,请将其发布在另一个问题上,因为所有可能都会被关闭。 Joe Blows 所称的论点只是暗示他使用的技术不受 Apple 支持和劝阻。它可能有效,也可能失败。 Joe Blow 回答说,在某些情况下,这是唯一合理的方式,即他通常在每个项目中处理数百个自定义视图控制器类。我说,如果你遇到这种情况,你的架构就坏了,因为我通常不会使用超过六打,也许是一打流感。但从来没有数百。 我再说一遍:如果你到了一定程度,使用类别的子类化是唯一的选择,那么你已经在错误的道路上一段时间了。至少对于这个问题,它根本不需要。 只是为了任何在这里搜索的人,现在是 2017 年,(幸运的是)上面关于类别等的讨论现在完全从 iOS 中消失了。你只需在你的 plist 中添加这两个项目,这就是它的全部内容。 【参考方案1】:

从 2016 年开始,您要做的就是:

将这两项添加到您的 plist 中:

<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

1。就是这么简单

2。没有其他方法。

(注意 - “常规设置”“部署信息”部分中有一个(无意义的)“隐藏状态栏”复选框。这只是读取 plist 文件,这是一个完全没有意义的复选框。)


历史答案...

我已经删除了历史答案,因为它们完全没用。 (如果有历史学家需要阅读,请点击“编辑历史”。)

【讨论】:

另一个问题:为什么~ipad 如果可以在视图控制器子类中毫无问题地完成,为什么要按类别进行潜在有害且不受支持的覆盖? 你应该教授绝对初学者的肮脏技巧,并将它们作为最佳解决方案推广。 @JoeBlow 可能是什么问题?没有错误了,但状态栏仍然显示。【参考方案2】:

您是否已经在 info.plist 文件中添加了两个新属性(如果不存在)?请尝试将“状态栏最初隐藏”设置为“YES”,并将“UIViewControllerBasedStatusBarAppearance”设置为“NO”。这将隐藏您应用的状态栏。

【讨论】:

正如我在问题中所说,我在这里尝试了一切:***.com/questions/17763719/status-bar-wont-disappear(包括您的建议)无济于事。不过谢谢! 是的,在某些情况下“这不起作用”。我认为不值得在这里讨论为什么,但这就是生活。我什至会说我在 iOS7 中永远不应该使用 UIViewControllerBasedStatusBarAppearance。当每个人都“习惯”iOS7/Xcode5 时,只是尝试让事情正常运行是一种遗留问题。

以上是关于状态栏不会在 iOS 7 应用程序的放大版本中消失的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 7 中隐藏状态栏?

状态栏不会消失

iOS 7 播放视频后状态栏消失

在 iOS 11 上隐藏时状态栏背景消失

在更多选项卡上时,iOS 7 选项卡栏图标暂时消失

如何在 iOS 7 和 iOS 6 中出现动画启动画面期间隐藏状态栏?