我的应用程序的statusbar样式是UIStatusBarStyleLightContent
,它在我的rootViewController中设置为preferredStatusBarStyle
。
现在我遇到了一个问题,当从我的应用程序中打开SFSafariViewController
时,它继承了SFSafariViewController
的白色背景上的状态条样式。
有办法为SFSafariViewController设置statusbar样式吗?
我试图将SFSafariViewController子类化并重写此方法,但这并没有帮助。
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleDefault;
}
更新:
[UIApplication sharedApplication setStatusBarStyle:]可以做到这一点,但是在iOS 9中不推荐这种方法。
发布于 2017-05-17 10:58:22
你可以使用扩展。
extension SFSafariViewController {
override open func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
UIApplication.shared.statusBarStyle = .default
}
override open func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(true)
UIApplication.shared.statusBarStyle = .lightContent
}
}
https://stackoverflow.com/questions/33172960
复制相似问题