2

我的应用程序的蓝色导航栏在 iOS 7 上突然变为黑色/灰色。我的应用程序尚未升级到 iOS 7,也没有使用 Xcode 5 重新编译。我希望在 iOS 7 上看起来完全一样,与旧编译的兼容模式iOS 6,但我想我错了?

这是一个错误还是预期的行为?

供您参考,我没有使用UINavigationController. 只是一个简单UIView的笔尖,带有直接从界面生成器中拖动的导航栏。

4

2 回答 2

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 的 translucent 属性是NO默认的,现在是YES.

希望这对您有所帮助。:)

最好的,萨沙

于 2013-09-19T21:56:09.317 回答
-1

在 iOS 7 上,导航栏的默认颜色是白色。蓝色是 iOS 6 中的默认导航颜色,因此可能只是将其设置为该操作系统版本的默认值。假设您的导航栏是默认的 iOS 6 蓝色。

于 2013-09-19T21:46:09.210 回答