我一直在为这个问题撞墙,但是自从我更新到iOS 10.1后,添加到的任何视图UIApplication.shared.keyWindow
似乎都没有呈现。它简直是看不见的。
我碰巧有一部运行iOS 9.3.2的测试手机,添加的视图确实可见。
注意:我很长一段时间以来一直在使用它来显示“应用程序通知”,并且它一直像魅力一样工作。
这是一段非常简单的代码,不会抛出任何错误。
let view = UIView(frame: CGRect(x: 0, y: 0, width: 500, height: 500))
view.backgroundColor = UIColor.red
let window = UIApplication.shared.keyWindow
window?.addSubview(view)
我检查了以下内容:
窗口不是 nil 并且具有完全有效的框架。我添加的 UIView 也是如此,它确实出现在视图层次结构中。我也尝试过移动代码,将其放入 ViewDidAppear、ViewDidLayoutSubViews 等……但无济于事。
有任何想法吗?还有其他人面临同样的问题吗?
编辑:看到下面的一些评论,我相信我需要澄清:这段代码应该可以工作(如果我参考 Apple 文档)。此外,这个问题是iOS 10 特定的。在 < iOS 10 的版本中,它可以完美运行。
所以我不是在寻找应该在哪里调用这个调用,而是在寻找 iOS 10中可能会带来这种行为的变化。
谢谢