ios - 如何将UIView添加到所有 View 的顶部

标签 ios swift uiwindow

我正在尝试在我的应用程序上为所有 View 设置一个 subview ,我想将其用于互联网连接测试。

我尝试将其添加到 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)
}

当我运行我的应用程序时,我没有发现任何更改,并且 subview 没有出现

最佳答案

因为在didFinishLaunchingWithOptions中使用了这个

UIApplication.shared.keyWindow?

nil,你可以使用

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

使用正确的窗口初始化或通过 Storyboard条目保证来自 IB 的根 vc 后

关于ios - 如何将UIView添加到所有 View 的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55676404/

相关文章:

ios - 如何正确地将子类传递给 Swift 'inout' 方法进行更新?

ios - CallKit 错误 com.apple.CallKit.error.requesttransaction 错误 7

ios - Google Maps Swift,自定义标记和带箭头的信息窗口

iPhone - UIWindow 根据当前方向旋转?

iphone - 更改 UITabBar 文本

ios - 禁止空输入

ios - UIViewRepresentable.updateUIView(_ :context:) is not called when @State, @Binding 或 @EnvironmentObject 已更改

xcode - TableView 单元格连接 View Controller 不起作用(Swift)

iphone - 旋转后重新定位UIWindow

iOS:Admob 智能横幅不占据全宽