iOS-StatusBar-Example icon indicating copy to clipboard operation
iOS-StatusBar-Example copied to clipboard

Not working when start app on landscape mode

Open mohsinbmwm3 opened this issue 5 years ago • 2 comments

Not working when start app on landscape mode. iOS 13.2.2, iPhone 11 Start app on landscape mode and rotate to portrait. Status bar not showing up. It works only when we start app on portrait mode

mohsinbmwm3 avatar Nov 28 '19 11:11 mohsinbmwm3

I'm gonna find a solution for this one, thank you for the reporting

WrathChaos avatar Nov 28 '19 11:11 WrathChaos

Hello, here is my solution:

   fileprivate var customStatusBarHeightConstraint: NSLayoutConstraint?
if #available(iOS 13.0, *) {
            let app = UIApplication.shared
            let statusBarHeight: CGFloat = app.statusBarFrame.size.height

            let statusbarView = UIView()
            statusbarView.backgroundColor = UIColor.white
            view.addSubview(statusbarView)

            statusbarView.translatesAutoresizingMaskIntoConstraints = false
            customStatusBarHeightConstraint = statusbarView.heightAnchor
                .constraint(equalToConstant: statusBarHeight)
            customStatusBarHeightConstraint?.isActive = true
            statusbarView.widthAnchor
                .constraint(equalTo: view.widthAnchor, multiplier: 1.0).isActive = true
            statusbarView.topAnchor
                .constraint(equalTo: view.topAnchor).isActive = true
            statusbarView.centerXAnchor
                .constraint(equalTo: view.centerXAnchor).isActive = true
        } else {
            let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView
            statusBar?.backgroundColor = UIColor.white
        }
override func viewWillLayoutSubviews() {
       super.viewWillLayoutSubviews()

       if let customStatusBarHeightConstraint = customStatusBarHeightConstraint {
           let statusBarHeight: CGFloat = UIApplication.shared.statusBarFrame.size.height
           if customStatusBarHeightConstraint.constant != statusBarHeight {
               customStatusBarHeightConstraint.constant = statusBarHeight
           }
       }
   }

nthtrung09it avatar Dec 13 '19 15:12 nthtrung09it