如何将视图添加到UIWindow,以便将现有视图控制器上推

时间:2018-08-06 06:32:33

标签: ios uiview uiviewcontroller uiwindow

我正在处理无互联网视图,并试图实现 Youtube ios应用显示无互联网视图的功能。我能够在某种程度上复制它,但是问题是没有Internet视图被添加到当前的UIWindow中,该UIWindow正在显示,但是作为子视图。当前的视图控制器视图没有像 Youtube ios app 中那样向上推。我也在SO中搜索有关如何将其向上推的方法,以使 UIWindow 的最后一个视图成为非Internet视图。人们建议将控制器作为 rootViewController 并添加no互联网查看。我做了同样的事情,但是没有显示互联网视图,但是视图控制器的其余部分是白色的。如何实现与 youtube 类似的机制?

下面是我目前的工作方式

if netStatus == .NotReachable {
    print("The internet is down.")
    noInternetView.removeFromSuperview()
    noInternetView = NoInternetConnection(frame : CGRect(x: 0,y: self.window!.bounds.height - 15 ,width: self.window!.bounds.width,height: 15))
    noInternetView.LabelErrorMessage.text = "No Connection"
    noInternetView.LabelErrorMessage.backgroundColor = UIColor.black()

    let window=UIApplication.shared().windows.last
    window!.addSubview(noInternetView)
    internetStatus = .NotReachable
}
else {
    print("The internet is working!")
    noInternetView.LabelErrorMessage.backgroundColor = UIColor(netHex : "#008000")
    noInternetView.LabelErrorMessage.text = "Back online"
    DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(5) ) {
        self.noInternetView.removeFromSuperview()
    }
}

0 个答案:

没有答案