UIAlertView显示在KeyWindow的子视图下

时间:2017-01-25 08:20:42

标签: ios uialertview

我在keyWindow上添加了自定义视图。如何在自定义视图上显示UIAlertController? (现在警报只在我的自定义视图下弹出。)

let customView = CustomView()
UIApplication.sharedApplication().keyWindow!.addSubview(customView)

let alert = UIAlertController(title: NSLocalizedString("Error", comment: ""), message: "", preferredStyle: .Alert)
alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil))
presentViewController(alert, animated: true, completion: nil)

1 个答案:

答案 0 :(得分:5)

我认为如果你不直接向Windows添加视图会更好,原因如下:

  • 一个是您遇到的问题
  • 如果您要在目标上展开< = iOS7窗口不会旋转,那么您可以在错误的位置找到叠加层视图

要避免这种情况,如果您确实要添加自定义视图,请使用rootViewController.view属性。

let customView = CustomView()
UIApplication.sharedApplication().keyWindow!.rootViewController.view.addSubview(customView)

我没有测试它,但是自定义视图应该在警报之下,因为它位于rootviewcontreller层次结构中。