ios – 真的很奇怪的应用程序颜色行为?

前端之家收集整理的这篇文章主要介绍了ios – 真的很奇怪的应用程序颜色行为?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在appDidFinishLaunchingWithOptions上,我使用以下代码对我的整个应用程序进行着色.
self.window.tintColor = [UIColor otfRedColor];

这样做完美,当我的应用程序加载时,所有的导航栏都是红色的. A是我的根视图控制器.

我有3个视图控制器a,b和c. A拉一个b的模态演示视图,拉出c的完整模态视图.当C被拉起时,导航栏上的条形按钮项目都是灰色的,这不应该发生,因为在应用程序委托调色窗口之后,我没有以任何方式改变任何色调或颜色.然后我使用

[self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];

关闭VC c和b,但现在我的ENTIRE应用程序是灰色的.自从应用程序委托以来,我还没有使用任何色调代码,为什么会发生这种情况?再次从A到B,导航栏的项目仍然是红色的?

从A开始上拉视图控制器B的代码

AthleteAdd *addAthlete = [self.storyboard instantiateViewControllerWithIdentifier:@"addAthlete"];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addAthlete]; 
addAthlete.delegate = self;
navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:navigationController animated:YES completion:nil];

从B提取C的代码

MedicalReleaseVC *medRelease = [self.storyboard instantiateViewControllerWithIdentifier:@"showMedRel"];
    medRelease.delegate = self;
    [self presentViewController:medRelease animated:YES completion:nil];

有人知道为什么会发生这种情况,还是有一个想法?我已经尝试将第三个视图控制器分为红色3种不同的方式,它仍然保持灰色,然后当所有内容都被忽略时,我的整个应用程序都是灰色的.请帮忙!!

编辑:

如果它有帮助,我解决这个问题的方法是在我的appdelegate.m中设置以下内容

self.window.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;

解决方法

我认为这是iOS7处理打开和关闭表单和展示位置时的tintAdjustmentMode的错误.我看到这个错误发生在苹果的本地邮件应用程序,其中条形按钮项目变灰色,或者反过来,一旦pop pop出现,它们就不再变成灰色了.

为了进一步调试,我建议将您的一个视图(或窗口直接)子类化并实现tintColorDidChange.记录tintAdjustmentMode的值.我担心这是导致你的灰色问题的原因.

一个解决方案是强制UIViewTintAdjustmentModeNormal,但是当打开一个popover或一个工作表时,这样做的效果就不会变暗.

猜你在找的iOS相关文章