像UIactionsheet驶鹉,UIalertviewcontroller都是在application中添加一個(gè)window后,然后在window中添加視圖實(shí)現(xiàn)的铣墨,所以我想將一些彈出的窗口以類似的方式實(shí)現(xiàn)室埋。
但是有個(gè)問題,原本的vc如果是將status bar隱藏的話伊约,新添加的window又會(huì)將它展示出來姚淆,這時(shí)可以利用window的rootviewcontroller屬性,給它付一個(gè)自定義的vc屡律,在自定的vc中把狀態(tài)欄隱藏就可以腌逢。
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()
}