У меня есть один основной контроллер вида -> стиль строки состояния светлый. В этом у меня есть одна кнопка, чтобы открыть контакты пользователя. Я открываю как настоящее модальное и меняю стиль строки состояния на темный. Но при отклонении (проведением пальцем вниз) в моем основном v c мой стиль строки состояния все еще остается темным. Это должно автоматически измениться на свет. Но этого не происходит.
мой код:
let navVC = UINavigationController(viewController: VC)
navVC.modalPresentationCapturesStatusBarAppearance = true
present(navVC, animated: true, completion: completion)
Но из моего открытого контакта v c (настоящий модал) пользователь может открыть еще два v c как модель. Так что моя иерархия v c будет -> Home -> opencontactv c (присутствует). -> seenumberv c (присутствует) -> seeuserphotoV C (присутствует)
если я получаю разрешение от seeuserphotoV C, мне не нужно менять строку состояния. Мне нужно изменить строку состояния, только если я нахожусь в opencontactv c. Чтобы он приземлился на дом v c, тогда мне нужно изменить мою строку состояния.
мой открытый контакт v c:
override var preferredStatusBarStyle: UIStatusBarStyle {
if #available(iOS 13.0, *) {
if traitCollection.userInterfaceStyle == .light {
return .darkContent
} else {
return .lightContent
}
} else {
return .lightContent
}
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
setNeedsStatusBarAppearanceUpdate()
}
На dimiss (проведите пальцем вниз), не уверен, почему он не меняется. Потому что, когда я проведу пальцем вниз, чтобы закрыть свой viewwill, Apple не получит звонок. Так что не уверен, как справиться с этим. Можем ли мы установить его автоматически