我的应用程序中出现了一个奇怪的问题:当用户点击按钮时,我UIViewController
会出现UIAlertView
。警报让用户在照片库和iPhone相机之间进行选择。
当警报出现时,我注意到这个问题:
首先,UIViewController
选定的标签栏项目具有此布局
然后,当警报出现时,它会像这样改变
如果用户决定访问他的照片库然后返回,则标签栏项目仍然如下
怎么可能?也许UIAlertView正在改变一些色调?
由于
答案 0 :(得分:6)
我遇到了这个问题,当某些视图在解除UIAlertView
后应该恢复正常颜色时有时会保持暗淡。我相信这是iOS 7.0(或可能是7.1)中的一个错误。我将此解决方法放在我的AppDelegate
:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) {
self.window.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;
}
return YES;
}
这样可以防止所有观看次数变暗,从而使您应用中的所有观看次数都保持暗淡。
答案 1 :(得分:2)
您使用的是自定义UIView子类吗?这是Apple在过渡指南中所说的内容。
当出现警报或操作表时,iOS 7会自动调暗 它背后的意见色彩。为了应对这种颜色变化,a 应该在渲染中使用tintColor的自定义视图子类 覆盖tintColorDidChange以在适当时刷新渲染。
答案 2 :(得分:0)
我遇到了同样的问题,但它发生在UISlider中。我解决了我的问题:只为我的UISlider设置颜色。
progressSlider.maximumTrackTintColor = [UIColor lightGrayColor];
我认为您只需为此标签栏项目设置颜色
如果您没有为标签栏项目设置颜色,则会在显示警告后将其重置为lightGrayColor
希望这有助于你
答案 3 :(得分:0)