如何在没有警告的情况下在 AppDelegate 中设置 statusBarStyle
How to set statusBarStyle inside AppDelegate with no warnings
在我开始之前,如果这个问题被重复,我会道歉,因为我看到了很多问题,但我找不到我需要的。
我想创建全局状态、导航、工具栏样式,如果可能的话,仅从我的应用程序委托创建 iPhones 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
}
我使用故事板为我的视图控制器附加了一个虚拟设计
最后的结果是
尽管不是最好的设计,但我有 3 个问题。
UIApplication.shared.statusBarStyle = .lightContent 已弃用,它显示警告,我不希望那样。
如何更改 iPhone X 之后的底部颜色(当前为红色以及水平线所在的位置)。
我可以更改另一个未定义的 statusBarStyle 并更改状态栏紫色的文本颜色吗?
希望对你有所帮助
UIApplication.shared.statusBarStyle = .lightContent 已弃用,它显示警告,我不希望那样。
转到项目 -> 目标,将状态栏样式设置为浅色
- 如何更改 iPhone X 之后底部的颜色(当前为红色以及水平线所在的位置)。
无法修改颜色,您不必担心,因为它不在您的控制范围内并且保证是 visible.For 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)
谢谢
在我开始之前,如果这个问题被重复,我会道歉,因为我看到了很多问题,但我找不到我需要的。
我想创建全局状态、导航、工具栏样式,如果可能的话,仅从我的应用程序委托创建 iPhones 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
}
我使用故事板为我的视图控制器附加了一个虚拟设计
最后的结果是
尽管不是最好的设计,但我有 3 个问题。
UIApplication.shared.statusBarStyle = .lightContent 已弃用,它显示警告,我不希望那样。
如何更改 iPhone X 之后的底部颜色(当前为红色以及水平线所在的位置)。
我可以更改另一个未定义的 statusBarStyle 并更改状态栏紫色的文本颜色吗?
希望对你有所帮助
UIApplication.shared.statusBarStyle = .lightContent 已弃用,它显示警告,我不希望那样。
转到项目 -> 目标,将状态栏样式设置为浅色
- 如何更改 iPhone X 之后底部的颜色(当前为红色以及水平线所在的位置)。
无法修改颜色,您不必担心,因为它不在您的控制范围内并且保证是 visible.For 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)
谢谢