How to set unsafe area background color for ios 11

后端 未结 3 1939
伪装坚强ぢ
伪装坚强ぢ 2020-12-28 18:23

Creating some new view controllers with xcode 9 so now I have a few safe areas to deal with.

I am currently trying to do something fullproof, meaning keeping the uns

3条回答
  •  清酒与你
    2020-12-28 18:43

    It looks like a hacky trick but you may try this:
    You can set background color for status bar during application launch or during viewDidLoad of your view controller. Here it works for me, in following ways.

    extension UIApplication {
    
        var statusBarView: UIView? {
            return value(forKey: "statusBar") as? UIView
        }
    
    }
    
    // Set it from your view controller if you've view controller based statusbar
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            UIApplication.shared.statusBarView?.backgroundColor = UIColor.green
        }
    
    }
    
    or
    
    // Set upon application launch, if you've application based status bar
    class AppDelegate: UIResponder, UIApplicationDelegate {
    
        var window: UIWindow?
    
        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
            UIApplication.shared.statusBarView?.backgroundColor = UIColor.green
            return true
        }
    }
    



    Here is result:

    enter image description here

提交回复
热议问题