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

Preferred status bar style on iPad multitasking - split screen

我有两个视图控制器 - 第一个有一个 UIStatusBarStyleDefault,第二个有一个 UIStatusBarStyleLightContent

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

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

正在尝试 - [自行设置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

一旦设置好,导航控制器的根视图控制器就可以覆盖 preferredStatusBarStyle()