我有两个 View Controller - 第一个有一个 UIStatusBarStyleDefault
,第二个有一个 UIStatusBarStyleLightContent
。
VC1 将 VC2 呈现为模态表单。因此,在常规特征集合中呈现时,VC2 呈现为 UIModalPresentationFormSheet
,而 VC1 将状态栏设置为 Default。
但是在compact trait collection中,VC2是全屏的,并且设置状态栏样式为Light Content。
问题是在常规到紧凑(全屏到表格)之间切换时,状态栏没有更新。
尝试- [自行设置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/