iOS11から導入されたセーフエリアの色を変えたい。
結論としては、色を直接変えるのではなくセーフエリアの上にUIViewを被せることで対応できる。
viewDidLoadなどに記述するとよい。
safeArea.swift
if #available(iOS 11.0, *)
{
let topFrame: CGRect = CGRect(x: view.safeAreaInsets.left,
y: view.safeAreaInsets.top,
width: UIScreen.main.bounds.size.width,
height: 44)
let safeAreaOverlay: UIView = UIView()
safeAreaOverlay.frame = topFrame
safeAreaOverlay.backgroundColor = .green //変えたい対象の色
view.addSubview(safeAreaOverlay)
}