在我开始之前,如果这个问题重复出现,我会道歉,因为我看到了很多问题,但我找不到我需要的东西。
我只想从我的应用程序委托创建全局状态,导航,工具栏样式,如果可能的话,可以在iPhone X上创建视图的底部,因此我不必在每个Viewcontroller中进行设置。
到目前为止,我有:
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
和didFinishLaunchingWithOptions方法内部调用的函数
private func setupNavigationBarStyle(){
UIApplication.shared.statusBarView!.backgroundColor = UIColor.AppColors.statusBar
UIApplication.shared.statusBarStyle = .lightContent
UINavigationBar.appearance().barTintColor = .brown
UINavigationBar.appearance().tintColor = .green
UINavigationBar.appearance().titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.yellow]
UINavigationBar.appearance().isTranslucent = false
}
UIApplication.shared.statusBarStyle = .lightContent已弃用,它显示警告,我不希望这样做。
如何更改iPhone X之前底部的颜色(当前为红色,水平线所在的位置)。
是否可以将statusBarStyle更改为另一个未定义的状态,并更改状态栏中的文本颜色为紫色?
答案 0 :(得分:1)
我希望它将对您有帮助
UIApplication.shared.statusBarStyle = .lightContent已弃用,它显示警告,我不希望这样做。
转到项目->目标,将状态栏样式设置为浅
无法修改颜色,并且您不必担心它,因为它不受您的控制并保证可见。有关Info(https://medium.freecodecamp.org/reverse-engineering-the-iphone-x-home-indicator-color-a4c112f84d34)。
是否可以将statusBarStyle更改为另一个未定义的状态,并更改状态栏中的文本颜色为紫色?
func setStatusBarBackgroundColor(color: UIColor) {
guard let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView else { return }
statusBar.backgroundColor = color
}
//Use self.setStatusBarBackgroundColor(color: .purple)
谢谢