【发布时间】:2016-05-08 08:44:14
【问题描述】:
我一直在用这个:
UIApplication.sharedApplication().keyWindow?.rootViewController!.view.addSubview(self.customView)
在应用中的视图层次结构中的所有视图上添加模式视图。
但这给我带来了问题。它有时会按预期添加子视图,但有时它不起作用。 在什么情况下这不起作用以及在 UIAlertView 等视图层次结构中添加模式视图的最佳方法是什么。
【问题讨论】:
-
当它不起作用时,这些情况是什么?您是否检查了视图层次结构?您是否为添加的自定义视图设置了正确的
frame? -
其实它只是偶尔发生。而且我未能在模拟器中重新创建问题。但是,当我不是在调试时而是随机地为手机创建构建时,就会出现问题。所以我无法检查视图层次结构。
-
理论上。当我们在 Keywindow 中将视图添加到 rootViewController 的视图时,它应该位于层次结构的顶部不是吗?
-
理论上它应该这样工作。但是在呈现 UIAlert 或 UIActionSheet 时,关键窗口可能会发生变化。但这似乎不是你的情况。
-
添加该视图后,还要执行
view.bringSubviewToFront(theSubview)