所以我有一些UIButtons。它们在启用时为蓝色,在禁用时为灰色,如我所料。
如果我从头版转到当前比赛,并且出现如下网络错误:
我致电[self.navigationController popViewControllerAnimated:YES];
返回主页,我在iOS 7,iPhone 4上得到了这个:
灰色按钮,但它们有效。所以我知道他们没有残疾。这不会发生在iOS 8,iPad Mini上。
答案 0 :(得分:1)
您可以使用iOS 7中引入的tintAdjustmentMode
属性修复此问题:
当此属性的值为UIViewTintAdjustmentModeDimmed时, 修改tintColor属性的值以提供灰色 外观
如果系统在子视图层次结构中找不到非默认值 查询此属性时,值为 UIViewTintAdjustmentModeNormal。
当此属性的值更改时(由视图的值更改) 改变或通过其超级视图的一个值改变) - 系统 调用tintColorDidChange方法以允许视图刷新它 渲染。
当某些叠加视图(例如UIAlertView
等)可见时,它们实际上会将此属性更改为UIViewTintAdjustmentModeDimmed
。您可以通过以下方式为整个tintAdjustmentMode
(以及子视图层次结构)设置UIWindow
来解决此问题:
self.window.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;