ios - iPad 多任务处理的首选状态栏样式 - 分屏

标签 ios iphone split-screen-multitasking

我有两个 View Controller - 第一个有一个 UIStatusBarStyleDefault,第二个有一个 UIStatusBarStyleLightContent

VC1 将 VC2 呈现为模态表单。因此,在常规特征集合中呈现时,VC2 呈现为 UIModalPresentationFormSheet,而 VC1 将状态栏设置为 Default。 但是在compact trait collection中,VC2是全屏的,并且设置状态栏样式为Light Content

问题是在常规到紧凑(全屏到表格)之间切换时,状态栏没有更新。

Full Split Screen

尝试- [自行设置NeedsStatusBarAppearanceUpdate]; 更改特征集合后没有解决问题。

任何帮助将不胜感激!

最佳答案

// This controls whether this view controller takes over control of the status bar's appearance when presented non-full screen on another view controller. Defaults to NO.

@available(iOS 7.0, *)
public var modalPresentationCapturesStatusBarAppearance: Bool

用法:

navigationController.modalPresentationStyle = .FormSheet
navigationController.modalPresentationCapturesStatusBarAppearance = true

一旦设置好,导航 Controller 的 Root View Controller 就可以覆盖 preferredStatusBarStyle()

关于ios - iPad 多任务处理的首选状态栏样式 - 分屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33736705/

相关文章:

ios - 转换实现协议(protocol)的 View Controller

iphone - 我可以使用 contentScaleFactor 安全地节省内存吗?

android - 如何以编程方式在 Android 应用程序之间切换

ios - 将 csv 附加到电子邮件 xcode

ios - TextView 在填充后在 iOS 中丢失样式

ios - 启动 Storyboard中的图像未更新

ios - iTunes Connect App Update 版本是否适用于所有国家/地区?

iphone - 为什么用户要下载旧版本的 iOS 应用程序?

java - 以编程方式在分屏中打开应用程序