UIAlertController状态栏不会变暗和着色颜色问题

时间:2016-02-01 17:39:24

标签: ios objective-c ios8 ios9 uialertcontroller

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

Status bar not dimmed

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

wrong tint color for back button

wrong tint color for edit and back button

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

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];

1 个答案:

答案 0 :(得分:1)

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

https://stackoverflow.com/a/30941356/3434545

如果我使用show:方法调用新的UIWindow并从该新窗口显示UIAlertController,我没有看到任何UI副作用上面显示警报时。

如果有人知道为什么会这样,请仍然回答这个问题,因为这是一个相当糟糕的解决方法!