首页 > 解决方案 > 如何将视图添加到 UIWindow 以便将现有视图控制器向上推

问题描述

我正在处理没有互联网视图并试图实现Youtube ios 应用程序显示没有互联网视图。我能够在某种程度上复制它,但问题是没有 Internet 视图被添加到当前 UIWindow 中,它正在显示但作为子视图。当前视图控制器视图不会像在Youtube ios app中那样向上推。我也在 SO 中搜索了如何将它向上推,以便UIWindow的最后一个视图成为无互联网视图。人们建议将控制器作为rootViewController并将无互联网视图添加到其中。我做了同样的事情,但没有显示互联网视图,但视图控制器的其余部分是白色的。如何实现与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()
    }
}

标签: iosuiviewuiviewcontrolleruiwindow

解决方案


推荐阅读