UIAlertController 状态栏没有变暗和色调问题

UIAlertController status bar not dimming and tint color issues

我正在从使用 UIAlertView 迁移到 iOS 8 中引入的 UIAlertController。但是,我看到了一些使用 [= 时看不到的奇怪视图问题11=]。首先,显示警报时,状态栏文本不会变暗:

此外,在显示状态栏后,UINavigationController 中的后退箭头现在设置为应用程序的 tintColor,而不是我为 UINavigationBar 设置的白色 tintColor。这会影响整个应用程序中的其他 UINavigationBar 元素,例如添加 (+) 按钮和编辑按钮。在显示 UIAlertController 之前,所有栏按钮项目都显示为白色。

我在这里不知所措。我用于显示警报的代码非常简单:

UIAlertController *view = [UIAlertController alertControllerWithTitle:VALIDATION_TITLE message:text preferredStyle:UIAlertControllerStyleAlert];
[view addAction:[UIAlertAction actionWithTitle:VALIDATION_BUTTON_OK style:UIAlertActionStyleDefault handler:nil]];
[self presentViewController:view animated:YES completion:nil];

所以,在处理显示 UIAlertControllers 时,当我没有显示 UIViewController 的句柄时,我在 Whosebug 上找到了以下代码:

如果我使用 show: 方法,它调用一个新的 UIWindow 并从那个新的 window 中呈现 UIAlertController,我没有任何UI 我在上面显示警报时看到的副作用。

如果有人知道为什么会发生这种情况,请仍然回答这个问题,因为这是一个相当棘手的解决方法!