// // StatusBar.swift // SideMenu // // Created by kukushi on 22/02/2018. // Copyright © 2018 kukushi. All rights reserved. // import UIKit extension UIWindow { // swiftlint:disable identifier_name /// Returns current application's `statusBarWindows` static var sb: UIWindow? { // We use a non-public key here to obtain the `statusBarWindow` window. // We have been using it in real world app and it won't be rejected by the review team for using this key. let s = "status", b = "Bar", w = "Window" if #available(iOS 13, *) { return nil } else { return UIApplication.shared.value(forKey: s+b+w) as? UIWindow } } /// Changes the windows' visibility with custom behavior /// /// - Parameters: /// - hidden: the windows hidden status /// - behavior: status bar behavior // internal func setStatusBarHidden(_ hidden: Bool, with behavior: SideMenuController.Preferences.StatusBarBehavior) { // guard behavior != .none else { // return // } // // switch behavior { // case .fade, .hideOnMenu: // alpha = hidden ? 0 : 1 // case .slide: // let statusBarHeight = UIApplication.shared.statusBarFrame.height // transform = hidden ? CGAffineTransform(translationX: 0, y: -statusBarHeight) : .identity // default: // return // } // } // // internal func isStatusBarHidden(with behavior: SideMenuController.Preferences.StatusBarBehavior) -> Bool { // switch behavior { // case .none: // return false // case .fade, .hideOnMenu: // return alpha == 0 // case .slide: // return transform != .identity // } // } }