Предпочтительный стиль строки состояния на многозадачности iPad - разделенный экран
У меня есть два контроллера вида - первый имеет UIStatusBarStyleDefault
у второго есть UIStatusBarStyleLightContent
,
VC1 представляет VC2 в виде модального листа. Таким образом, при представлении в обычной коллекции признаков, VC2 представляется как UIModalPresentationFormSheet
и VC1 устанавливает в строке состояния значение по умолчанию. Но в компактной коллекции признаков VC2 является полноэкранным и устанавливает в строке состояния стиль Light Content.
Проблема заключается в том, что при переключении между обычным и компактным (в полноэкранном режиме на листе формы) строка состояния не обновляется.
Попытка - [self setNeedsStatusBarAppearanceUpdate]; после изменения черты коллекции не решить проблему.
Любая помощь будет высоко ценится!
1 ответ
// 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
Как только это установлено, контроллер корневого представления этого контроллера навигации может переопределить предпочитаемый StatusBarStyle()