我在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)
Andrea.. 5
我认为如果你不直接向窗口添加视图会更好,这里有一些原因:
一个是您遇到的问题
如果要在目标上部署<= iOS7窗口不旋转,那么您可以在错误的位置找到叠加视图
要避免这种情况,如果您确实要添加自定义视图,请使用该rootViewController.view
属性.
let customView = CustomView() UIApplication.sharedApplication().keyWindow!.rootViewController.view.addSubview(customView)
我没有测试它,但自定义视图应该在警报下,因为它位于rootviewcontreller层次结构中.
我认为如果你不直接向窗口添加视图会更好,这里有一些原因:
一个是您遇到的问题
如果要在目标上部署<= iOS7窗口不旋转,那么您可以在错误的位置找到叠加视图
要避免这种情况,如果您确实要添加自定义视图,请使用该rootViewController.view
属性.
let customView = CustomView() UIApplication.sharedApplication().keyWindow!.rootViewController.view.addSubview(customView)
我没有测试它,但自定义视图应该在警报下,因为它位于rootviewcontreller层次结构中.