记一下

记一下:iOS 添加UIwindow 后关于status bar

2016-12-30  本文已影响162人  chdo002

像UIactionsheet,UIalertviewcontroller都是在application中添加一个window后,然后在window中添加视图实现的,所以我想将一些弹出的窗口以类似的方式实现。

但是有个问题,原本的vc如果是将status bar隐藏的话,新添加的window又会将它展示出来,这时可以利用window的rootviewcontroller属性,给它付一个自定义的vc,在自定的vc中把状态栏隐藏就可以。

var backWindow: UIWindow!  //window必须被持有,不能是局部变量

func showWindow(){

      class VC: UIViewController{
            override var prefersStatusBarHidden: Bool{
                return true
            }
        }
        backWindow = UIWindow(frame: UIScreen.main.bounds)
        backWindow = UIColor(red: 10, green: 10, blue: 10, alpha: 0.6)
        backWindow = UIWindowLevelAlert + 1
        backwindow.rootViewController = VC()

       /// 直接在window上添加视图
    
        backwindow.makeKeyAndVisible()
}
上一篇 下一篇

猜你喜欢

热点阅读