有一个视图覆盖整个屏幕,除了选项卡

问题描述

我目前正在尝试创建一个临时视图,在后台线程加载内容时覆盖我的应用程序的整个窗口(标签栏除外)。我这样做的方式如下

 super.viewDidLoad()
 let window = UIApplication.shared.keyWindow!
 let v = UIView(frame: window.bounds)
 window.addSubview(v)

然而,这会创建一个覆盖标签栏的视图。有没有办法让视图覆盖整个屏幕,除了标签栏?

解决方法

是的,如果你在一个有标签栏的视图控制器中(即在 UITabBarController 界面内),标签栏的顶部是安全区域的底部,所以不要将框架设置为 {{1 }},根据安全区域插入的底部位置调整框架的高度。