UIAlertController 错误更改其他 UIImageViews 的 tintcolor

UIAlertController bug changing tintcolor of other UIImageViews

我有一个我认为是奇怪的 iOS8 错误。每当我启动 UIAlertController 时,我发现它正在将使用 UIImageRenderingModeAlwaysTemplate 图像渲染模式的 UIImageViews 的所有色调更改为深灰色。无论我是否调整 UIAlertController 的色调,都会发生这种情况。在下面找到一张屏幕截图(查看气泡角),它在 UIAlertController 显示之前是正确的颜色,而 return 在它被关闭后是正确的颜色。

有人知道如何在 iOS8 中防止这种情况发生吗?

UIAlertController *alertController = [UIAlertController
                                      alertControllerWithTitle:[NSString stringWithFormat:@"Question ended %@",[endDateFormat stringFromDate:[NSDate dateWithTimeIntervalSince1970:selectedActivity.utc]]]
                                      message:messageText
                                      preferredStyle:UIAlertControllerStyleActionSheet];
[alertController.view setTintColor:[UIColor colorWithHue:240.0/360 saturation:.03 brightness:.58 alpha:1]];

//...Add some actions and then
[self presentViewController:alertController animated:YES completion:nil];

每当呈现模态视图时,其背后视图的色调都会更改为灰色 "dimmed" 颜色,以表明它们不是交互式的。您应该可以通过设置 UIImageViewtintAdjustmentMode 属性 来解决此问题。

参见: UIKit Framework > UIView Class Reference > Configuring a View's Visual Appearance > tintAdjustmentMode