我的应用程序的蓝色导航栏在iOS 7上突然变为黑/灰色。我的应用程序尚未升级到iOS 7但尚未使用Xcode 5进行重新编译。我期望在兼容模式下在iOS 7上看起来完全相同对于较旧编译的iOS 6,但我想我错了?
这是一个错误还是预期的行为?
为了您的信息,我没有使用UINavigationController
。在指尖中只是一个简单的UIView
,其中一个导航栏直接从Interface Builder中拖出。
答案 0 :(得分:4)
我认为你想要的是:
UIColor *tintColor = [UIColor redColor];
if ([navigationBar respondsToSelector:@selector(setBarTintColor:)])
{
navigationBar.barTintColor = tintColor;
}
else
{
navigationBar.tintColor = tintColor;
navigationBar.translucent = NO;
}
在iOS7中,来自UINavigationBar的属性tintColor更改为仅对按钮(leftBarButtonItem / rightBarButtonItem)进行着色以声明用户可以单击它们。 “整理”整个栏的新方法是使用barTintColor(从iOS7开始提供)。
还有一个区别:
在iOS7之前,默认情况下UINavigationBar的半透明属性为NO
,现在为YES
。
希望这会对你有所帮助。 :)
最佳, 的Sascha
答案 1 :(得分:-1)
在iOS 7上,导航栏的默认颜色为白色。蓝色是iOS 6中的默认导航颜色,因此可能只是将其设置为该操作系统版本的默认值。假设您的导航栏是默认的iOS 6蓝色。