【发布时间】:2020-08-09 17:52:46
【问题描述】:
我有一个主视图控制器 - > 状态栏样式很轻。因为我有一个按钮来打开用户联系人。我以当前模式打开,并将状态栏样式更改为深色。但是在关闭时(通过向下滑动),在我的主 vc 中,我的状态栏样式仍然处于黑暗状态。它应该会自动变亮。但这并没有发生。
我的代码:
let navVC = UINavigationController(viewController: VC)
navVC.modalPresentationCapturesStatusBarAppearance = true
present(navVC, animated: true, completion: completion)
但是从我打开的联系人 vc (present modal) 中,用户可以再打开两个 vc 作为模型。所以我的 vc 层次结构将是 -> Home --> opencontactvc (present)。 -> shownumbervc(现在)-> seeuserphotoVC(现在)
如果我从 seeuserphotoVC 中退出,我不需要更改我的状态栏。只有当我在 opencontactvc 中时,我才需要更改我的状态栏。所以它会登陆家庭vc,那个时候我需要改变我的状态栏。
我的公开联系人 vc:
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()
}
关闭(向下滑动),不知道为什么它没有改变。因为当我向下滑动以关闭我的 viewwillAppear 时不会接到电话。所以不知道如何处理。我们可以将其设置为自动吗
【问题讨论】:
标签: ios swift iphone xcode ios13