如何在 ios 13 中设置视图控制器下方的系统背景颜色
How to set the system background color below presented view controllers in ios 13
见下图,我在我的应用程序中显示了一个 viewcontroller,屏幕上有 3 个图层:
- 黑色,系统提供
- 我的应用程序,呈现视图控制器,白色
- 我的应用,呈现的视图控制器,白色
我的问题是,第一层不应该是以前运行应用程序的模糊屏幕截图吗,为什么它是黑色的?我可以设置颜色吗?
编辑:原来第一层不是系统提供的,只是app的key window后台!请看下面我的回答
在根视图控制器的 viewWillAppear
中,您需要通过以下代码重置它的背景颜色:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.view.backgroundColor = .white
}
把这个放在你推送新视图控制器的地方:
self.navigationController?.pushViewController(anotherVC, completion: {
self.view.backgroundColor = .black
})
我设法通过设置密钥 window 背景颜色来解决它,例如:
// inside appDelegate's didFinishLaunchingWithOptions
// The first layer will be white now
window?.backgroundColor = UIColor.white
见下图,我在我的应用程序中显示了一个 viewcontroller,屏幕上有 3 个图层:
- 黑色,系统提供
- 我的应用程序,呈现视图控制器,白色
- 我的应用,呈现的视图控制器,白色
我的问题是,第一层不应该是以前运行应用程序的模糊屏幕截图吗,为什么它是黑色的?我可以设置颜色吗?
编辑:原来第一层不是系统提供的,只是app的key window后台!请看下面我的回答
在根视图控制器的 viewWillAppear
中,您需要通过以下代码重置它的背景颜色:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.view.backgroundColor = .white
}
把这个放在你推送新视图控制器的地方:
self.navigationController?.pushViewController(anotherVC, completion: {
self.view.backgroundColor = .black
})
我设法通过设置密钥 window 背景颜色来解决它,例如:
// inside appDelegate's didFinishLaunchingWithOptions
// The first layer will be white now
window?.backgroundColor = UIColor.white