如果没有隐藏导航栏:
navigationController?.navigationBar.isTranslucent = false
如果隐藏了导航栏上面的代码失效,可设置状态栏背景色以达到不透明的效果:
..........
//在要显示界面的时候设置颜色
if let statusViewWindow = UIApplication.shared.value(forKey: "statusBarWindow") as? UIWindow {
if let statusView = statusViewWindow.value(forKey: "statusBar") as? UIView {
statusView.backgroundColor = BaseColor
}
}
..........
//在界面将要消失的时候恢复透明颜色
if let statusViewWindow = UIApplication.shared.value(forKey: "statusBarWindow") as? UIWindow {
if let statusView = statusViewWindow.value(forKey: "statusBar") as? UIView {
statusView.backgroundColor = UIColor.clear
}
}