Dan*_*Dan 6 objective-c ios ios8 uialertcontroller ios9
我正在从使用迁移UIAlertView到UIAlertControlleriOS 8中的介绍.但是,我看到一些奇怪的视图问题,我在使用时没有看到UIAlertView.首先,在显示警报时,状态栏文本不会变暗:
此外,在显示状态栏后,UINavigationController现在将后面的箭头设置为应用程序的tintColor,而不是为我设置的白色tintColor UINavigationBar.这会影响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];
Run Code Online (Sandbox Code Playgroud)
因此,在处理显示时,UIAlertControllers当我没有显示句柄时UIViewController,我在 stackoverflow 上找到了以下代码:
如果我使用该show:方法,该方法会调用一个新窗口UIWindow并从该新窗口中显示UIAlertController,那么我不会遇到上面显示警报时看到的任何 UI 副作用。
如果有人知道为什么会发生这种情况,请仍然回答这个问题,因为这是一个相当hacky的解决方法!