Swiftで下部のSafeAreaの色を塗り潰す方法

Swift

遷移してしまったページでのsafeareaの色が変わらない

SafeAreaの色を変えるには、viewのbackgroundColorを変えればOKだという記事を見かけるので、やってみたけれど、上手くいかず。。

色々と調べてみるとrootViewControllerのviewでなければ変わらないとのこと!なので、pushなどでページを遷移した際にはrootのviewを弄らなければならないので以下のようにしました。

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        let window = UIApplication.shared.windows.filter { $0.isKeyWindow }.first!
        window.rootViewController!.view.backgroundColor = UIColor.white

こんな感じでやれば、遷移毎にSafeArea部分の色も変えることが出来ました。

最後に

iPhoneX系の端末でSafeAreaの概念が生まれ、本当に面倒になりましたね。。SafeAreaKitとか出てきてもおかしくなさそう。誰か作ってくれないかな。

コメントを残す