iOS访问主窗口

时间:2017-06-22 03:55:53

标签: ios uiview swift3

如何访问主窗口尝试这个,但它对我不起作用:

if let app = UIApplication.shared.delegate as? AppDelegate, let window = app.window {
 window.addSubview(offerView)
}

我也尝试过这种方式,但对我来说没有运气:

 if let window =  UIApplication.shared.windows.first {

       window.addSubview(offerView)
 }

注意:keyWindow对我有用,但使用keyWindow可以返回键盘或UIAlertView窗口,它位于我的应用程序窗口之上。

这是我发现的现有问题,但答案对我不起作用

How do I get the keyWindow reference in a swift app?

在我的应用程序上

从页面底部显示一个商品视图。该优惠将显示在屏幕的一半

2 个答案:

答案 0 :(得分:1)

let appDelegate = UIApplication.shared.delegate as? AppDelegate
let rootViewController = appDelegate?.window?.rootViewController

如果它是一个自定义类,你也可以施放rootViewController

let rootViewController = appDelegate?.window?.rootViewController as? YourCustomViewController

答案 1 :(得分:0)

最简单的解决方案是在window中添加UIWindow类型的属性变量AppDelegate,并将rootviewcontroller添加到该window属性并访问该window {1}}属性,无论您需要什么。