我在iOS7中的色彩颜色有一个非常奇怪的问题。
当我第一次加载时出现问题的ViewController时,所有的色调都是浅灰色,好像一切都处于非活动状态,或者在UIAlertView后面使屏幕变暗。按钮仍处于活动状态,工作正常,但它们都是灰色的。 (我将色调颜色设置为橙色,稍微多了一点)。
这是奇怪的部分。如果我出现,然后立即关闭另一个ViewController,所有橙色色调都会出现,一切都按预期工作。这是我能够让色调出现的唯一方式 - 似乎没有其他工作。
我在整个应用程序中使用相同的基本代码模式,这个问题实际上只影响一个ViewController。这个特定的ViewController会显示UIModalPresentationFullScreen
和UIModalTransitionStyleCoverVertical
,如果有的话。{/ p>
以下是我设置着色的方法:
首先,我在界面构建器中的每个视图控制器上设置了一种色调颜色,这些设置在工作和有问题的VC中都是相同的。
接下来,我在App Delegate中全局设置了一种色彩颜色,如下所示:
[_window setTintColor:[UIColor orangeColor]];
以上两个对我的大多数ViewControllers都有效,但由于某种原因不适用于所有这些。对于那些没有工作的人,我一直在使用一些不同的技术来使色彩颜色起作用。例如:
self.view.tintColor = [UIColor orangeColor];
或
[_myUIBarButtonItem setTitleTextAttributes:
[NSDictionary dictionaryWithObject:[UIColor orangeColor]
forKey:NSForegroundColorAttributeName]
forState:UIControlStateNormal];
或强制进行tintColor更新:
[_myButtonOutlet setTitleColor:_cancelButtonOutlet.tintColor
forState:UIControlStateNormal];
有什么想法吗?
答案 0 :(得分:4)
在iOS7中,根据您的需要,您可以选择不同的色调行为。
您需要做的就是在app delegate中的didFinishLaunching中将窗口的tintAdjustmentMode属性调整为Normal。
self.window.tintAdjustmentMode = UIViewTintAdjustmentModeNormal;