我的应用程序的蓝色导航栏在 iOS 7 上突然变成了黑色/灰色。我的应用程序尚未升级到 iOS 7,也没有使用 Xcode 5 重新编译。我希望在兼容模式下在 iOS 7 上看起来完全相同对于较旧编译的 iOS 6,但我想我错了?
这是一个错误还是预期的行为?
供您引用,我没有使用 UINavigationController
。只是 Nib 中的一个简单的 UIView
,其导航栏直接从 Interface Builder 中拖动。
最佳答案
我想你想要的是这样的:
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
。
希望这对您有帮助。 :)
最好, 萨沙
关于ios - iOS 6 应用程序的 iOS 7 兼容模式不考虑导航栏的色调颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18903593/