如何在所有视图的顶部添加 UIView

How to add UIView on the top of all views

我正在尝试在我的应用程序上为所有视图设置一个子视图,我想用它来进行互联网连接测试。

我试过在 appDelegate 中将其添加到 UIWindow 使用此代码

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: 
    [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    let myNewView=UIView(frame: CGRect(x: 10, y: 100, width: 300, height: 200))
    myNewView.backgroundColor=UIColor.red
    UIApplication.shared.keyWindow?.addSubview(myNewView)
}

当我 运行 我的应用程序没有发现任何变化时,子视图也没有出现

因为在 didFinishLaunchingWithOptions 这个

UIApplication.shared.keyWindow?

nil你可以用

self.window?.makeKeyAndVisible()
self.window?.addSubview(.....

在您使用正确的 window 初始化或通过故事板条目

保证来自 IB 的根 vc 之后